asp.net-mvc – 实体类型没有键定义 – 代码优先

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 实体类型没有键定义 – 代码优先前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是MVC以及实体框架的新手.我搜索很多,找到几个类似的问题(例如 Entity Type Has No Key Defined),但是他们没有解决我的问题.
  1. namespace MvcAppInvoice.Models
  2. {
  3. public class Customer
  4. {
  5. public int CustomerID { get; set; }
  6. public string FirstName { get; set; }
  7. public string SurName { get; set; }
  8. public virtual CustomerType Type { get; set; }
  9. }
  10.  
  11. public class CustomerType
  12. {
  13. public int TypeId { get; set; }
  14. public string TypeName { get; set; }
  15. public virtual ICollection<Customer> customers { get; set; }
  16. }
  17. }

当我尝试添加控制器时会出现以下错误

解决方法

通常,如果属性命名为Id或TypeName Id,则通过惯例首先按照实体类型设置密钥.在你的情况下,TypeId既不是它们,所以你应该明确地将其标记为关键,使用 KeyAttribute或流利的语法,使用 EntityTypeConfiguration.HasKey Method

猜你在找的asp.Net相关文章