c# – 如何为ASP.net Core配置Entity Framework 6
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 如何为ASP.net Core配置Entity Framework 6,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1762字,纯文字阅读大概需要3分钟。
内容图文
![c# – 如何为ASP.net Core配置Entity Framework 6](/upload/InfoBanner/zyjiaocheng/767/8a16f55e75384639b5c88631974c8f44.jpg)
我正在尝试配置一个新项目以使用实体框架6与ASP.net Core,我正在使用完整的.net框架,以便能够使用实体框架6.这是一个在MVC之前和之前的项目我需要将它迁移到Core.
这就是我所做的(我有两个项目,一个Asp.net Core和一个包含一些类和DBContext类的类库):
appsettings.json:
"Data": {
"ConnectionStrings": {
"MyConnection": "Server=namedatabase.database.secure.windows.net,1433;Database=database_Name;User ID=blahblah;Password=blahblah;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"
}
}
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<MyDBContext>(_ => new LIGDataContext(Configuration.GetConnectionString("MyConnection")));
}
我在类库(.dll)中分隔了DBContext类:
public class MyDBContext: DbContext
{
public MyDBContext(string connString): base(connString)
{
}
但我在我的asp.net Core项目的某些控制器中有这个代码,我不知道现在如何引用DBContext实例……显然是要求connString参数,这是我第一次这样做我不确定哪种方法最好,在Core中不再提供ConfigurationManager我需要做什么?这是实体框架6没有实体框架核心..
public class MyController : Controller
{
public ActionResult MyAction()
{
var _ctx = new MyDBContext();
return PartialView(_ctx.FormsiteApplications.Where(f => f.Application).OrderBy(f => f.Title).ToList());
}
解决方法:
dime2lo是对的,你可以将DbContext注入控制器.
codepublic class StoreController : Controller
{
private DefaultDbContext _dbContext = null;
public StoreController(DefaultDbContext dbContext)
{
this._dbContext = dbContext;
//Do something with this._dbContext ...
}
}
或创建一个上下文工厂
public class DefaultDbContextFactory : IDbContextFactory<DefaultDbContext>{
public DefaultDbContext Create()
{
return new DefaultDbContext("Server=XXXX ;Database=XXXXX;Trusted_Connection=True;");
}
Reference : Getting Started with ASP.NET Core and Entity Framework 6
内容总结
以上是互联网集市为您收集整理的c# – 如何为ASP.net Core配置Entity Framework 6全部内容,希望文章能够帮你解决c# – 如何为ASP.net Core配置Entity Framework 6所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。