gpt4 book ai didi

c# - 如何为 ASP.net Core 配置 Entity Framework 6

转载 作者:行者123 更新时间:2023-11-30 12:56:36 25 4
gpt4 key购买 nike

我正在尝试配置一个新项目以使用 Entity Framework 6ASP.net Core,我正在使用完整的 .net 框架,以便能够使用 Entity Framework 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")));
}

我将DBContext 类分隔在类库(.dll) 中:

  public class MyDBContext: DbContext
{
public MyDBContext(string connString): base(connString)
{
}

但我的 asp.net Core 项目的一些 Controller 中有这段代码,我不确定现在如何引用 DBContext 实例...显然要求 connString 参数,这是我第一次这样做,我不确定哪种方法最好,ConfigurationManager 不可用不再是 Core 我需要做什么?这是 Entity Framework 6 而非 Entity Framework Core..

     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 注入(inject) Controller 。

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,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40516707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com