将模型项目(EntityFramwork)添加到Asp.net Core 3项目
我的解决方案中有3个项目,如下所示:将模型项目(EntityFramwork)添加到Asp.net Core 3项目,asp.net,entity-framework,asp.net-core,entity-framework-core,blazor,Asp.net,Entity Framework,Asp.net Core,Entity Framework Core,Blazor,我的解决方案中有3个项目,如下所示: ModelProject(EntityFramework) ProjectA(ASP.NET MVC) ProjectB(带Blazor的ASP.NET CORE 3) 所以,在ModelProject中,我定义了我的表、关系、查询及其类,然后在ProjectA和ProjectB中添加了它们 在startup.cs by services中的ProjectB(.net core)上。AddDbContext尝试添加dbcontext(ModelProject
services.AddEntityFrameworkSqlServer().AddDbContext(options=>{options.UseSqlServer(Configuration.GetConnectionString(“DataContext”);});
和dbcontext(EntityFramework标准):
命名空间模型项目
{
公共类DataContext:DbContext
{
公共DataContext():基(“DataContext”)
{
SetInitializer(新的MigrateDatabaseToLatestVersion());
(作为IObjectContextAdapter)ObjectContext.ContextOptions.UseCSharpNullComparisonBehavior=true;
((IObjectContextAdapter)this).ObjectContext.CommandTimeout=300;
}
}
}
它需要:
.AddDbContext<Models.DataContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DataContext")));
.AddDbContext(选项=>
options.UseSqlServer(Configuration.GetConnectionString(“DataContext”));
换句话说,没有花括号。您也可以只返回
选项
实例,但这只是不必要的代码膨胀。这是一个例外。由于lambda当前本质上是一个操作(无返回)而不是func,因此它与AddDbContext
的正确参数不匹配。请添加dbcontext类代码请添加引发此异常的代码。在看不到您的代码的情况下,我们如何才能找到您的问题?问题中添加了代码。我有一个模型项目(EF),我想在解决方案中的所有其他项目上使用它。但不能在.net核心项目中使用它!我替换此代码,但不工作!
namespace ModelProject
{
public class DataContext : DbContext
{
public DataContext() : base("DataContext")
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion<DataContext, Migrations.Configuration>());
(this as IObjectContextAdapter).ObjectContext.ContextOptions.UseCSharpNullComparisonBehavior = true;
((IObjectContextAdapter)this).ObjectContext.CommandTimeout = 300;
}
}
}
.AddDbContext<Models.DataContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DataContext")));