asp.net - 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] 标签,但没有骰子。我硬着头皮将继承类重新定义为与基类相同,问题就消失了。确实应该有某种方法来继承实体框架类的数据结构,而无需进行所有导致此错误的跟踪等。
到下一个错误。
推荐阅读
- javascript - 从另一个数组超链接数组中的图像
- php - 将元素从第一个数组添加到第二个数组
- c# - SSL 问题 - 无法使用 docker-compose 连接到多个容器
- ruby - 如何获取 Ruby 中使用的方法列表?
- firebase - 在 Firestore 安全规则中创建新文档时如何验证另一个文档引用
- nativescript - 如何通过点击 NativeScript 进行返回导航?
- qt - 如何删除 QMultiMap 中的字母排序
- android - 安卓 | 滚动视图 | 高度 wrap_content
- javascript - Vanilla JS:仅显示同一父组中的下一个元素
- elasticsearch - 编写 NEST 查询以按分数对聚合桶进行排序