微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

EntityType 没有定义键定义此 EntityType 的键 - 但它确实如此

如何解决EntityType 没有定义键定义此 EntityType 的键 - 但它确实如此

好的。我已经搜索解决方案,但没有一个适合我的问题。 我定义了一个名为 tblRbnCampaignMemberList 的实体,如下所示:

[Table("tblRbnCampaignMemberList")]
public partial class tblRbnCampaignMemberList
{
    [Key]
    public int rcm_id { get; set; }
    public int rcm_MemberUID { get; set; }
    public int rcm_rp_id { get; set; }
    public int rcm_rc_id { get; set; }
    public DateTime? rcm_InterviewCompletedUTC { get; set; }
    public int rcm_quality_id { get; set; }
    public DateTime? rcm_Rbn_claim_date { get; set; }
    public int rcm_Rbn_status_id { get; set; }
    public int rcm_QC_MemberUID { get; set; }
    [Column(TypeName = "smallmoney")]
    public decimal? rcm_Awardamount { get; set; }
    public int? rcm_AwardTypeID { get; set; }
    [StringLength(50)]
    public string rcm_RbnorderID { get; set; }
    [Column(TypeName = "date")]
    public DateTime? rcm_DateAwarded { get; set; }
    public int? rcm_AwardedBy_MemberUID { get; set; }
    [StringLength(1024)]
    public string rcm_Comments { get; set; }
    public bool rcm_Canceled { get; set; }
    public int? rcm_new_rcm_id { get; set; }
    [StringLength(256)]
    public string rcm_AlternateEmail { get; set; }
    public virtual tblRbnAwardType tblRbnAwardType { get; set; }
    public virtual tblRbnCampaign tblRbnCampaign { get; set; }
    public virtual tblRbnQuality tblRbnQuality { get; set; }
    public virtual tblRbnGiftclaimstatu tblRbnGiftclaimstatu { get; set; }
    public virtual tblRbnProject tblRbnProject { get; set; }
}

然后我从第一个类定义了另一个类,如下所示:

public class smc_RbnCampaignMemberList : Entities.tblRbnCampaignMemberList
{
     public String sml_Title { get; set; }
     public int rcme_MemberUID { get; set; }
     public String rcme_firstName { get; set; }
     public String rcme_middleName { get; set; }
     public String rcme_lastName { get; set; }
     public String rcme_eMail { get; set; }
     public String rcme_orgName { get; set; }
     public String rcme_tmpei_idValue { get; set; }
     public int rcme_qualityAvg { get; set; }
     public int AMMember { get; set; }
     public int DBMember { get; set; }
     public int LPMember { get; set; }
     public int SBMember { get; set; }
     public int AEMember { get; set; }

     public List<smc_RbnMemberTags> lstRbnMemberTags { get; set; }
}

编译器很高兴,但是当我尝试运行该项目时,我收到一个运行时错误

EntityType 'smc_RbnCampaignMemberTags' 没有定义键。定义此 EntityType 的键。

即使代码甚至没有使用该类型并且定义了公共 [Key],也会发生 rutime 错误

想法?

解决方法

这种情况下的答案不是从实体框架类继承。我尝试在继承类上使用 [NotMapped] 标签,但没有骰子。我咬紧牙关,重新定义了继承类,使其与基类相同,问题就消失了。确实应该有某种方法来继承实体框架类的数据结构,而无需所有导致此错误的跟踪等。

继续下一个错误。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。