详解如何在ASP.NET Core中应用Entity Framework

时间:2021-05-25

首先为大家提醒一点,.NET Core和经典.NET Framework的Library是不通用的,包括Entity Framework!

哪怎么办? 别急,微软为.NET Core发布了.NET Core版本的Entity Framework,具体配置方法与经典.NET Framework版本的稍有区别,下面的内容就为带领大家在ASP.NET Core中应用Entity Framework DB first。

注:目前部分工具处于Preview版本,正式版本可能会稍有区别。

前期准备:

1.推荐使用VS2015 Update3作为你的IDE,下载地址:https:///fwlink/?LinkId=723263 for guidance on storing connection strings. optionsBuilder.UseSqlServer(@"{your sql connect string}");}

如自动生成代码里所写的warning一样,我们不应该把连接字符串放在这里。接下来的工作,让我们来从appsettings.json中读取配置。

在***Context.cs中添加一个属性用来存放ConnectionString,另外我们需要重写OnConfiguring方法,完整的代码应该是这样:

public static string ConnectionString { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlServer(ConnectionString); }

打开appSetting.json,添加如下代码:

"ConnectionStrings": { "TestNetCoreEF": "Data Source={your sql server host address};Initial Catalog=TestNetCoreEF;user id={your username};password={your password};" },

完整的代码应该像这样:

{ "ConnectionStrings": { "TestNetCoreEF": "Data Source={your sql server host address};Initial Catalog=TestNetCoreEF;user id={your username};password={your password};" }, "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Debug", "System": "Information", "Microsoft": "Information" } } }

打开 Startup.cs,在ConfigureServices(IServiceCollection services)方法中添加如下代码:

TestNetCoreEFContext.ConnectionString = Configuration.GetConnectionString("TestNetCoreEF");

完整的代码应该是这样:

public void ConfigureServices(IServiceCollection services) { //config the db connection string TestNetCoreEFContext.ConnectionString = Configuration.GetConnectionString("TestNetCoreEF"); // Add framework services. services.AddMvc(); }

关于调用Entity Framework

真的,相信我,跟之前一毛一样,真的一毛一样。

Models.TestNetCoreEFContext context = new Models.TestNetCoreEFContext();var StudentList = context.Student.ToList();

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章