【发布时间】:2014-07-23 12:51:45
【问题描述】:
我创建了一个带有一些基本属性的抽象类:
public abstract class BaseModel
{
public BaseWishModel()
{
}
[Key]
public int Id { get; set; }
public virtual string Title { get; set; }
public bool IsPublished { get; set; }
public bool IsSpam { get; set; }
}
我的物品类别:
public class PrivateItem : BaseModel
{
[NotMapped]
public string PurposesIds { get; set; }
}
我的 OnModelCreating 方法:
modelBuilder.Entity<BaseModel>()
.Map<PrivateItem>(r => r.Requires("Discriminator").HasValue((int)Enums.Type.Private))
.ToTable("Items");
当我保存数据时,它会生成下一个 sql:
INSERT [dbo].[Items]([Title], [IsPublished], [ShortDescription1], [ShortDescription2], [Discriminator])
我不知道它为什么会生成 ShortDescription1 和 ShortDescription1
【问题讨论】:
-
是的,我有。这是一个映射` modelBuilder.Entity
() .Map (r => r.Requires("Discriminator").HasValue((int)Enums.Type.Private)) .Map (r => r.Requires("Discriminator").HasValue((int)Enums.Type.Public)) .Map (r => r.Requires("Discriminator").HasValue((int)Enums.Type.其他)) .ToTable("项目"); ` 我只提交了一个特定类别的插入。为什么会这样? -
Stack Overflow 允许您根据需要多次更新您的问题。请使用相关代码更新您的问题,以便其他阅读您问题的人不必阅读每条评论即可理解完整问题(并允许对代码进行格式化以便于阅读)。
标签: entity-framework ef-code-first table-per-hierarchy