我是 MVC 和实体框架的新手。我搜索了很多并发现了一些类似的问题(例如实体类型没有定义键 https://stackoverflow.com/questions/6290511/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
or TypeName+Id
。就你而言,TypeId
都不是它们,所以你应该明确地将它标记为键,使用关键属性 http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.keyattribute.aspx或者使用流畅的语法,使用EntityTypeConfiguration.HasKey 方法 http://msdn.microsoft.com/en-us/library/gg671266%28v=vs.103%29.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)