首页 > 数据库技术 > 详细

ASP.NET Core 1.0 中 EntityFramework 与 PostgreSQL 的使用

时间:2016-03-18 00:28:19      阅读:1258      评论:0      收藏:0      [点我收藏+]

https://docs.efproject.net/en/latest/providers/npgsql/index.html

前面配置好了PostgreSQL, 今天试了一下ASP.NET Core 1.0 环境下使用PostgreSQL 。

依赖包

"dependencies": {
    "Microsoft.AspNet.Diagnostics": "1.0.0-rc1-final",
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
    "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
    "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
    "Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final",
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final",
    "EntityFramework.Commands": "7.0.0-rc1-final",
    "EntityFramework7.Npgsql": "3.1.0-rc1-3",
    "EntityFramework7.Npgsql.Design": "3.1.0-rc1-5"
  },

  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel",
    "ef": "EntityFramework.Commands"
  },

CODE FISRT

public class StockHqDbContext : DbContext
    {
        public DbSet<Blog> Blogs { get; set; }
        public DbSet<Post> Posts { get; set; }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            // Make Blog.Url required
            modelBuilder.Entity<Blog>()
                        .Property(b => b.Url)
                        .IsRequired();
        }
    }
    public class Blog
    {
        public int BlogId { get; set; }
        public string Url { get; set; }
        public List<Post> Posts { get; set; }
    }
   public class Post
    {
        public int PostId { get; set; }
        public string Title { get; set; }
        public string Content { get; set; }
        public int BlogId { get; set; }
        public Blog Blog { get; set; }
    }

注册PostgreSqlProvider

public void ConfigureServices(IServiceCollection services)
        {
            var connection = Configuration["PostgreSqlProvider:ConnectionString"];
            services.AddEntityFramework()
                    .AddNpgsql()
                    .AddDbContext<StockHqDbContext>(options => options.UseNpgsql(connection));
            // Add framework services.
            services.AddMvc();
        }

配置文件

{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Verbose",
      "System": "Information",
      "Microsoft": "Information"
    }
  },
  "PostgreSqlProvider": {
    "ConnectionString": "User ID=postgres;Password=xxxxx;Host=xxx.xxx.xxx.xxx;Port=5432;Database=stockhq;Pooling=true;"
  }
}

执行命令

dnvm use 1.0.0-rc1-final(dnvm install 1.0.0-rc1-final) 
dnx ef migrations add FirstMigration 
dnx ef database update

ASP.NET Core 1.0 中 EntityFramework 与 PostgreSQL 的使用

原文:http://www.cnblogs.com/Irving/p/5289981.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!