我是MVC以及实体框架的新手.我搜索很多,找到几个类似的问题(例如
Entity Type Has No Key Defined),但是他们没有解决我的问题.
- namespace MvcAppInvoice.Models
- {
- public class Customer
- {
- public int CustomerID { get; set; }
- public string FirstName { get; set; }
- public string SurName { get; set; }
- public virtual CustomerType Type { get; set; }
- }
- public class CustomerType
- {
- public int TypeId { get; set; }
- public string TypeName { get; set; }
- public virtual ICollection<Customer> customers { get; set; }
- }
- }
解决方法
通常,如果属性命名为Id或TypeName Id,则通过惯例首先按照实体类型设置密钥.在你的情况下,TypeId既不是它们,所以你应该明确地将其标记为关键,使用
KeyAttribute或流利的语法,使用
EntityTypeConfiguration.HasKey Method