首页 > 技术文章 > .net Core 调用EF Core 爬坑

cheery-go 2021-11-25 17:01 原文

 

.net Core 中调用 EF Core项目

首先得建一个类库供.net Core 的主项目引用;其次,在.net Core 中做注入;最后,在页面中调用

 

1、类库项目中的操作

   1.新建类库项目

   2.新建Entity Class,表名为:Products Entity Class Name :Product

   3.Create DBContext File:

      1.Create Construction 构造函数 DBContext File name:MyDBContext 继承:DBContext 构造函数::base(opt)实质是为了.net Core 注入传参 public MyDBContext(DbContextOptions<MyDBContext> opt):base(opt){}

           2.Add DbContext 属性 注意:属性名称与表明一致 public DbSet<Products> Products { get; set; }

public class MyDBContext:DbContext
{
    public MyDBContext(DbContextOptions<MyDBContext> opt) :base(opt)
    { 
    }
​
    public DbSet<Product> Products { get; set; }
    ...
}

  

2、.netCore 中引用 Startup.cs中ConfigureServices 注入EF Core服务

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<Sport.Entity.SportStoreDBContext>(opt =>
    opt.UseSqlServer(Configuration.GetConnectionString("SportDB"))//appsettings.json ConnectionStrings.SportDB
    ) ; 
    ...
}

  

appsettings.json 中配置ConnectionStrings 节点值

{
     "Logging": {
         "LogLevel": {
         "Default": "Information",
         "Microsoft": "Warning",
         "Microsoft.Hosting.Lifetime": "Information"
         }
     },
     "AllowedHosts": "*",
     "ConnectionStrings": {
         "SportDB": "Server=(localdb)\\ProjectsV13;database=MyPracticeDB;Trusted_Connection=True;MultipleActiveResultSets=true"
     }
}

3 页面中调用,net Core 将EF服务,以构造函数的方式提供调用

private readonly SportStoreDBContext _sportContext;

    public HomeController(SportStoreDBContext sportContext)
   {
    _sportContext = sportContext;
   }

 

//调用

public ActionResult List()
{

var list = _sportContext.Product.ToList();

}

  

 

 

 

推荐阅读