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

标签 c# asp.net asp.net-mvc entity-framework asp.net-core-mvc

我正在尝试配置一个新项目以使用 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/

相关文章:

c# - 您如何获得 IsolatedStorage 中所有文件的平面列表?

c# - asp :ListView 中当前项目的 Eval()

c# - 从jQuery C#调用webmethod在.net aspx页面中返回404错误

javascript - 没有脚本标签的问题

c# - 使用 CombineLatest 关联多个组的三个事件流

c# - 如何使用 NHibernate ICriteria 查询键值对列表?

javascript - 在 Mvc View 中使用脚本而不捆绑

asp.net-mvc - MVC 4 将个人资料图像添加到 RegisterModel

c# - 带动态元素的 WPF 启动屏幕。如何?

html - ~/和 ../的区别