我想要添加一些额外的礼节,我尝试了以下内容:
基准表:
namespace Core.Model {
public class Item
{
[Key]
public int ItemId { get; set; }
[Required]
public ItemType Type { get; set; }
[Required]
[MaxLength(255)]
public string Name { get; set; }
//...
}
}
扩展视图:
namespace Core.Model
{
public class ItemExtended : Item
{
public int? CommentsCount { get; set; }
}
}
然后在上下文中我有:
public DbSet<QuiverItemExtended> ItemsExtended { get; set; }
modelBuilder.Entity<ItemExtended>()
.ToTable("ItemsExtended")
.HasKey(view => new { view.ItemId });
这适用于查询,但是当我尝试插入普通项时,我得到了这个例外:
EntitySet'Context.Items'中的所有对象必须具有唯一的主要对象 键。但是,“Core.Model.ItemExtended”类型的实例和 “Core.Model.Item”类型的实例都具有相同的主键 value,'EntitySet = Items; ItemId = 1097'。
任何想法我如何解决这个问题?
提前致谢
答案 0 :(得分:0)