我正在努力实施
this "hello world" example
使用asp.net
Entity framework
核心。
在做完这个例子后,我尝试将它拆分为2个项目。一个用于模型,另一个用于API。
我在同一个解决方案中创建了2个项目,从第二个中删除了startup.cs
,program.cs
。将模型添加到第二个,并在第一个中注册模型。
尝试构建时 - 我收到错误
程序不包含适用于条目的静态Main方法 点实体
我尝试寻找有关使用多个项目的文档,但没有找到。也许我不懂专业术语。
如何在没有main方法的情况下添加项目?
10倍!
我再次尝试使用startup.cs
和program.cs
两个项目,然后构建成功,但是当尝试在nuget控制台上运行时:“Add-Migration MyFirstMigration”,我得到了
在BloggingContext上找不到无参数构造函数
。将无参数构造函数添加到BloggingContext
或在与IDbContextFactory<BloggingContext>
相同的程序集中添加BloggingContext
的实现。“
我该怎么办?
再次感谢。答案 0 :(得分:5)
听起来您将第二个项目添加为控制台项目,而不是类库。如果您不希望它是独立的可执行文件,则应该使用它。
您仍然可以通过更改项目属性(右键单击项目&gt;属性)并将输出类型更改为类库来将第二个项目更改为独立。
无参数构造函数问题听起来无关紧要。您可能已添加带有参数的构造函数,或者从没有无参数构造函数的类继承,这需要您向基础构造函数提供值。
答案 1 :(得分:3)
您的解决方案中应该只有一个启动项目。如果要为模型创建项目,请创建 class library
,而不是控制台/ Web /窗口应用程序。
答案 2 :(得分:0)
我无法对您的第一个错误发表评论,但忘记在Startup.cs中添加我的数据库上下文时遇到了第二次错误:
public void ConfigureServices(IServiceCollection services)
{
var connection = @"Server=(localdb)\mssqllocaldb;Database=EFGetStarted.AspNetCore.NewDb;Trusted_Connection=True;";
services.AddDbContext<BloggingContext>(options => options.UseSqlServer(connection));
}
或者,these docs引用该错误,并建议使用IDbContextFactory。