官方介绍地址

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. Windows 10 +VS2019 编译OpenCV 4.1.0

    准备环境 安装cmake 官网 获取代码 github 下载拓展库opencv_contrib github 生成Sln cmake安装完后桌面会有一个快捷方式,可打开cmakeGUI,打开它. 第一 ...

  2. [STM31F103]独立看门狗

    独立看门狗步骤: l 取消寄存器写保护: n IWDG_WriteAccessCmd(); l 设置独立看门狗的预分频系数,确定时钟: n IWDG_SetPrescaler(); l 设置看门狗重装 ...

  3. DLC 基本逻辑运算

    逻辑代数:分析设计数字电路的数学基础是逻辑代数 变量的取值只能是 0 1 逻辑代数中只有三种基本逻辑运算,即 与 或 非 与逻辑运算: 只有决定一件事情的全部条件都具备时,这事件才成立.这样的因果关系 ...

  4. Maintaining ICM Parameters for Using SSL for As JAVA

    1770585 - How to configure SSL on the AS Java You can use this procedure to configure the necessary ...

  5. 一行js代码识别Selenium+Webdriver及其应对方案

    有不少朋友在开发爬虫的过程中喜欢使用Selenium + Chromedriver,以为这样就能做到不被网站的反爬虫机制发现. 先不说淘宝这种基于用户行为的反爬虫策略,仅仅是一个普通的小网站,使用一行 ...

  6. mysql安装密码策略插件

    https://blog.csdn.net/kk185800961/article/details/79447754 注意linux安装密码策略的插件 validate_password.so

  7. Java开发体系

    蓦然回首自己做开发已经十年了,这十年中我获得了很多,技术能力.培训.出国.大公司的经历,还有很多很好的朋友.但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员,可惜 ...

  8. mysql安装,以及从csv插入数据

    1.mysql安装 用管理员身份打开cmd命令行工具,cd到解压文件的bin目录:    ・MySql的Windows服务安装: mysqld install 回车 ・生成无密码的root用户: my ...

  9. Linux命令:let

    语法 let  expr [expr ...] 说明 计算c的算术表达式.详细说明请参考<Bash参考指南-6.5 shell算术运算>

  10. 基础算法简单实现-python

    目录 Python(版本3.6+)-Anna-Lena Popkes