【发布时间】:2017-03-27 15:01:56
【问题描述】:
我使用实体框架 6.1.3 模型优先方法。 我需要设计一个简单的模型为following。
然后我生成了 sql 来创建数据库,但我发现我的实体集没有在我的 DbContext 中定义。我尝试手动添加它们,但实体框架不断重新生成以下代码。 它只生成与它的设计目的完全相反的抽象实体。
public partial class UploadsDataModelContainer : DbContext
{
public UploadsDataModelContainer()
: base("name=UploadsDataModelContainer")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<AzureBlobs> AzureBlobs { get; set; }
}
这是 EF 代码生成器中的错误还是我错过了模型创建的步骤?
【问题讨论】:
-
您可能希望将这两种子类型映射到它们自己的表。请参阅 TPH 与 TPT 或 TPC 继承。并在设计器中添加实体集名称。
-
如果需要,因为 Visual Studio 会生成部分类,您可以添加具有相同 UploadsDataModelContainer 上下文的新文件并添加相关属性: public DbSet
Uploads { get;放; } -
@RicardoPeres 是的,我会尝试并给你反馈。谢谢。
-
@RicardoPeres 你的建议对我很有效。你节省了我的时间。
标签: c# sql visual-studio entity-framework