【问题标题】:How to extend table with a view in Entity framework如何在实体框架中使用视图扩展表
【发布时间】:2015-10-05 21:34:44
【问题描述】:

我想增加一些额外的礼仪,我尝试了以下方法:

基表:

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”类型的实例都具有相同的主键 值,'EntitySet=Items;ItemId=1097'。

有什么办法可以解决这个问题吗?

提前致谢

【问题讨论】:

标签: asp.net entity-framework


【解决方案1】:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多