Asp.net Core中使用Entity Framework Core CodeFirst
2016-11-24 21:54
1266 查看
1.安装对应的包
"Microsoft.EntityFrameworkCore.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.0",
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
project.json tools节点更新
appsettiongs.json中配置连接串
Entity & DbContext
关于数据库连接串的初始化
一种方式是直接在DBContext的OnConfiguring动态去获取appsettings.json里的链接串,另一种是采用注入的方式,在Startup.cs里配置,各有优劣;上例中采用的是每次动态获取的方式,获取的连接串用全局Cache缓存下,方便下次获取。
Startup.cs里配置连接串
"Microsoft.EntityFrameworkCore.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.0",
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
project.json tools节点更新
"tools": { "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0-preview3-final", "Microsoft.AspNetCore.Razor.Tools": "1.1.0-preview4-final", "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final" },
appsettiongs.json中配置连接串
"ConnectionStrings": { "DefaultDB": "Persist Security Info=True;Data Source=。;User ID=sa;Password=123;DataBase=test;" }
Entity & DbContext
public class VIP_Info { public VIP_Info() { } public Guid Id { get; set; } public string Name { get; set; } public string MobilePhone { get; set; } public string Sex { get; set; } public int Score { get; set; } }
public partial class SqlServerDbContext : DbContext { //方法一 //public SqlServerDbContext(DbContextOptions<SqlServerDbContext> options) //: base(options) //{ } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { string connectionString = (string) CacheHelper.CacheValue("sqldbConStr"); if (string.IsNullOrWhiteSpace(connectionString)) { var builder = new ConfigurationBuilder().AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); var configuration = builder.Build(); connectionString = configuration.GetConnectionString("DefaultDB"); CacheHelper.CacheInsertAddMinutes("sqldbConStr", connectionString, 120); } optionsBuilder.UseSqlServer(connectionString); } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); } public virtual DbSet<VIP_Info> VIP_Info { get; set; } }
关于数据库连接串的初始化
一种方式是直接在DBContext的OnConfiguring动态去获取appsettings.json里的链接串,另一种是采用注入的方式,在Startup.cs里配置,各有优劣;上例中采用的是每次动态获取的方式,获取的连接串用全局Cache缓存下,方便下次获取。
Startup.cs里配置连接串
public void ConfigureServices(IServiceCollection services) { services.AddApplicationInsightsTelemetry(Configuration); services.AddDbContext<SqlServerDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultDB"))); services.AddMvc() .AddJsonOptions(options => { options.SerializerSettings.ContractResolver = new DefaultContractResolver(); }) .AddXmlDataContractSerializerFormatters(); }
public partial class SqlServerDbContext : DbContext { //方法一 public SqlServerDbContext(DbContextOptions<SqlServerDbContext> options) : base(options) { }
public class VipController : BaseController { private SqlServerDbContext _context; public VipController(SqlServerDbContext context){ _context=context; } .....
相关文章推荐
- ASP.Net MVC极速开发:使用MVCScaffolding + EntityFramework CodeFirst
- 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表
- 【原】ASP.Net MVC极速开发:使用MVCScaffolding + EntityFramework CodeFirst
- ASP.NET EntityFrameworkCore code first 多对多设计
- 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表
- 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表
- ASP.NET Core:使用EntityFrameworkCore操作MySql来丰富仓储模块
- 使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序
- .net core Entity Framework Core Code First 框架 分层开发
- ASP.NET CORE系列【二】使用Entity Framework Core进行增删改查
- 使用 Visual Studio 的 ASP.NET Core MVC 和 Entity Framework Core 入门 (1 of 10)
- ASP.NET CORE系列【三】使用Entity Framework Core进行增删改查
- Asp.Net Core 项目实战之权限管理系统(3) 通过EntityFramework Core使用PostgreSQL
- [ASP.NET MVC]Entity Framework框架之CodeFirst模式学习笔记
- 使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序
- 使用 ASP.NET Core, Entity Framework Core 和 ABP 创建N层Web应用 第二篇
- ASP.NET MVC+Entity Framework code first 迁移
- Code First :使用Entity. Framework编程(3)
- ADO.NET Entity Framework CodeFirst 如何输出日志(EF 5.0)
- Code First :使用Entity. Framework编程(4)