entity framework代码首先创build“鉴别器”列
我正在使用EF CF的方式与MySQL的网站。 出于某种原因,EF在我的Post表中创build一个名为“Discriminator”的列,并包含VARCHAR“Post”。
为什么创build这个列? 我可以做些什么来避免它被创build? 有这个专栏有什么好处吗?
Discriminator
列在Table-Per-Hierarchyinheritancescheme中使用并且是必需的。 如果你例如有这样一个模型…
public abstract class BaseEntity { public int Id { get; set; } //... } public class Post : BaseEntity { //... } public class OtherEntity : BaseEntity { //... }
…并使BaseEntity
成为模型的一部分,例如通过在派生的上下文中添加一个DbSet<BaseEntity>
,Entity Framework将默认将这个类层次结构映射到一个表中,但引入一个特殊的列 – Discriminator
区分存储在此表中的不同types( Post
或OtherEntity
)。 此列将填充types的名称( Post
或OtherEntity
)。
- asynchronousPartialView导致“HttpServerUtility.Execute阻止…”exception
- 服务应该总是返回DTO,还是可以返回域模型?
- 在EF4中为表列名称指定一个不同的名称
- 如何首先在Entity Framework 4代码中映射组合主键?
- 在添加和删除时,DbContext非常慢
- 如何为EF代码优先configurationProviderManifestToken
- entity framework使用连接方法和lambdas进行连接
- 在序列化“SubSonic.Schema .DatabaseColumn”types的对象时检测到循环引用。
- 如何删除entity framework中的多行(无foreach)