Entity Framework连接postgresql,code first
官方介绍地址
http://www.npgsql.org/ef6/index.html
首先创建一个控制台应用程序 ,本例居于.NETFramework,Version=v4.6.1
安装包
EntityFramework6.Npgsql
先写一个业务类
using System; namespace EFCodeFirstConsole
{
public class Blog
{
public int Id { get; set; }
public string Name { get; set; }
public string Url { get; set; }
public DateTime? CreateTime { get; set; }
public double Double { get; set; }
public float Float { get; set; }
}
}
然后创建一个继承自EF上下文的类
using System.Data.Entity; namespace EFCodeFirstConsole
{
public class EfDbContext : DbContext
{
public EfDbContext():base("name=PgsqlConnStr")
{
} protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//EF 默认的schema 是dbo,但是PG默认是public,这里改一下
modelBuilder.HasDefaultSchema("public");
}
public DbSet<Blog> Blogs { get; set; }
}
}
创建配置类
using Npgsql;
using System.Data.Entity; namespace EFCodeFirstConsole
{
class NpgSqlConfiguration:DbConfiguration
{
public NpgSqlConfiguration()
{
var name = "Npgsql"; SetProviderFactory(providerInvariantName: name,
providerFactory: NpgsqlFactory.Instance); SetProviderServices(providerInvariantName: name,
provider: NpgsqlServices.Instance); SetDefaultConnectionFactory(connectionFactory: new NpgsqlConnectionFactory());
}
}
}
在配置文件中增加数据库配置
<connectionStrings>
<add name="PgsqlConnStr" connectionString="Host=127.0.0.1;Port=5432;Database=EfDb;Username=dbuser;Password=dbpassword" providerName="Npgsql"/>
</connectionStrings>
控制台Main方法创建数据库并插入数据
using System.Data.Entity; namespace EFCodeFirstConsole
{
class Program
{
static void Main(string[] args)
{
var Initializes = new DropCreateDatabaseAlways<EfDbContext>();
using (var efDbContext = new EfDbContext())
{
Initializes.InitializeDatabase(efDbContext);
}
using (var efDbContext = new EfDbContext())
{
efDbContext.Blogs.Add(new Blog {
Name="Jeffcky",
Url="http://www.qq.com"
});
efDbContext.SaveChanges();
}
}
}
}
参考:https://www.cnblogs.com/lyqf365/p/3978359.html
Entity Framework连接postgresql,code first的更多相关文章
- Entity Framework连接Mysql数据库并生成Model和DAL层
Entity Framework (EF,ADO.NET Entity Framework)是微软官方提供的.NET平台的ORM框架.相比于LINQ TO SQL,EF框架具有很明显的优势: EF框架 ...
- Entity Framework 6.x Code Frist For Oracle 实践与注意点
Entity Framework 6.x Code Frist For Oracle 实践与注意点 开发环境 Visual Studio.net 2015/2017 Oracle 11g/12c 数据 ...
- .NET Core开发日志——Entity Framework与PostgreSQL
Entity Framework在.NET Core中被命名为Entity Framework Core.虽然一般会用于对SQL Server数据库进行数据操作,但其实它还支持其它数据库,这里就以Po ...
- Entity Framework工具POCO Code First Generator的使用
在使用Entity Framework过程中,有时需要借助工具生成Code First的代码,而Entity Framework Reverse POCO Code First Generator是一 ...
- Entity Framework工具POCO Code First Generator的使用(参考链接:https://github.com/sjh37/EntityFramework-Reverse-POCO-Code-First-Generator)
在使用Entity Framework过程中,有时需要借助工具生成Code First的代码,而Entity Framework Reverse POCO Code First Generator是一 ...
- 学习Entity Framework 中的Code First
这是上周就写好的文章,是在公司浩哥的建议下写的,本来是部门里面分享求创新用的,这里贴出来分享给大家. 最近在对MVC的学习过程中,接触到了Code First这种新的设计模式,感觉很新颖,并且也体验到 ...
- 转载:学习Entity Framework 中的Code First
看完觉得不错,适合作为学习资料,就转载过来了 原文链接:http://www.cnblogs.com/Wayou/archive/2012/09/20/EF_CodeFirst.html 这是上周就写 ...
- Entity Framework(EF的Code First方法)
EntityFramework,是Microsoft的一款ORM(Object-Relation-Mapping)框架.同其它ORM(如,NHibernate,Hibernate)一样, 一是为了使开 ...
- Entity Framework应用:Code First模式数据迁移的基本用法
使用Entity Framework的Code First模式在进行数据迁移的时候会遇到一些问题,熟记一些常用的命令很重要,下面整理出了数据迁移时常用的一些命令. 一.模型设计 EF默认使用id字段作 ...
随机推荐
- Spring事务@Transactional标签深入学习
事务管理是应用系统开发中必不可少的一部分.Spring为事务管理提供了丰富的功能支持.Spring事务管理分为编码式和声明式 两种方式.编码式事务指的是通过编码方式实现事务;声明式事务基于AOP,将具 ...
- uva-757-贪心
题意:有个人要去湖里钓鱼,总共有N个湖,排成一个序列,用字母P表示湖,从湖pi 到 pi+1(下一个湖)需要ti个五分钟. 并且,每个湖里可钓出来的鱼每过五分钟就减少di.如果产出的鱼小于等于di.那 ...
- 嵌入式linux——说明(零)
之前就学习过嵌入式linux,但是那时候并没有完全投入,学习的也不科学系统,没有笔记,也没有自己写很多的代码来练习,所以到现在是基本归零了,现在比较有富裕的时间来系统的学习,从今天开始要克服每一个学习 ...
- Linux查看与挂载新磁盘
问题 把CentOS都换成了Ubuntu Server(16.04 LTS),用df -h查看磁盘占用情况,确发现之前插入的一块大容量磁盘/dev/sdb1消失了.是磁盘坏了?还是没被系统识别? 解决 ...
- Dostoevsky: Better Space-Time Trade-Offs for LSM-Tree Based Key-Value Stores via Adaptive Removal of Superfluous Merging 阅读笔记
Introduction 主流的基于LSM树的KV存储都在两方面进行权衡,一方面是写入更新的开销,另一方面是查询和存储空间的开销.但它们都不是最优的,问题在于这些存储系统在LSM树的每一个level上 ...
- ArcGIS 图层旋转工具-arcgis案例实习教程
ArcGIS 图层旋转工具-arcgis案例实习教程 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:对输入图层执行坐标旋转 使用方法:输入图层,旋转中心,旋转 ...
- logback kafkaAppender输出日志到kafka
官网地址https://github.com/danielwegener/logback-kafka-appender 本文以spring boot项目为基础,更多的信息,请参考官网 https:// ...
- Models中字段的参数
(1)null 如果为True,Django 将用NULL 来在数据库中存储空值. 默认值是 False. (1)blank 如果为True,该字段允许不填.默认为False. 要注意,这与 null ...
- python中re正则表达式
1.re匹配的语法 re.math 从头开始匹配,没有匹配到返回None re.seach 匹配包含,,没有匹配到返回None re.findall 把所有匹配到的字符,以列表的形式返回,没有匹配到返 ...
- 机器学习--Xgboost调参
Xgboost参数 'booster':'gbtree', 'objective': 'multi:softmax', 多分类的问题 'num_class':10, 类别数,与 multisoftma ...