官方介绍地址

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的更多相关文章

  1. Entity Framework连接Mysql数据库并生成Model和DAL层

    Entity Framework (EF,ADO.NET Entity Framework)是微软官方提供的.NET平台的ORM框架.相比于LINQ TO SQL,EF框架具有很明显的优势: EF框架 ...

  2. Entity Framework 6.x Code Frist For Oracle 实践与注意点

    Entity Framework 6.x Code Frist For Oracle 实践与注意点 开发环境 Visual Studio.net 2015/2017 Oracle 11g/12c 数据 ...

  3. .NET Core开发日志——Entity Framework与PostgreSQL

    Entity Framework在.NET Core中被命名为Entity Framework Core.虽然一般会用于对SQL Server数据库进行数据操作,但其实它还支持其它数据库,这里就以Po ...

  4. Entity Framework工具POCO Code First Generator的使用

    在使用Entity Framework过程中,有时需要借助工具生成Code First的代码,而Entity Framework Reverse POCO Code First Generator是一 ...

  5. 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是一 ...

  6. 学习Entity Framework 中的Code First

    这是上周就写好的文章,是在公司浩哥的建议下写的,本来是部门里面分享求创新用的,这里贴出来分享给大家. 最近在对MVC的学习过程中,接触到了Code First这种新的设计模式,感觉很新颖,并且也体验到 ...

  7. 转载:学习Entity Framework 中的Code First

    看完觉得不错,适合作为学习资料,就转载过来了 原文链接:http://www.cnblogs.com/Wayou/archive/2012/09/20/EF_CodeFirst.html 这是上周就写 ...

  8. Entity Framework(EF的Code First方法)

    EntityFramework,是Microsoft的一款ORM(Object-Relation-Mapping)框架.同其它ORM(如,NHibernate,Hibernate)一样, 一是为了使开 ...

  9. Entity Framework应用:Code First模式数据迁移的基本用法

    使用Entity Framework的Code First模式在进行数据迁移的时候会遇到一些问题,熟记一些常用的命令很重要,下面整理出了数据迁移时常用的一些命令. 一.模型设计 EF默认使用id字段作 ...

随机推荐

  1. CSS3之动画模块实现轮播图

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 关于如何在电脑上安装adb来操作手机(Android)的方法及步骤

    1.需要真实的安卓手机: 2.安卓手机需要开启USB调试模式,允许电脑进行调试(各个手机的开启方式可能不同,不知道的自行百度): 3.电脑需要安装ADB驱动,这里提供一个下载地址:https://ad ...

  3. pinyin.js

    export default { a: "\u554a\u963f\u9515", ai: "\u57c3\u6328\u54ce\u5509\u54c0\u7691\u ...

  4. RN-进阶

    ActivityIndicator 显示一个圆形的loading的提示符 react-native-tab-navigator npm install react-native-tab-navigat ...

  5. 拖拽 ‘vue-grid-layout’ 插件了解下

    我接触到vue-grid-layout是通过我们公司的项目,感觉还是比较简单上手的,大概看了有1个小时吧,我是个行动派,就是觉得实践出真知,但是记性也不太好,有时候自己踩过的坑会忘记,会改但是会忘记原 ...

  6. [UnityShader基础]06.#pragma multi_compile

    参考链接: https://blog.csdn.net/qq826364410/article/details/81774741 https://docs.unity3d.com/Manual/SL- ...

  7. 五、Python-字典与集合

    字典是一系列键-值对,每个键都与一个值想关联,可以用键来访问与之关联的值,与键相关联的值可以是数字.字符串.列表乃至字典(Python可以将任何对象作为字典中的值),Python中,字典用“{}”表示 ...

  8. lvs+keepalived+ipvsadm 完整搭建笔记

    原文:http://www.safecdn.cn/2018/12/lvs-keepalived-ipvsadm/ 1.环境介绍: 系统:centos 6.7 keepalived VIP1 :10.0 ...

  9. LocalVariableTable之 Slot 复用

    LocalVariableTable中的 Slot, 是存在复用现象的,这个我早就知道,但是,不太清楚是如何复用的. Java语言规范与JVM规范都没有对Java语言具体要如何使用JVM的局部变量sl ...

  10. 啊哈算法第四章第二节解救小哈Java实现

    package corejava; public class FourTwo { static int m;//(m,n)为几行几列 static int n; static int p;//(p,q ...