有人能理解这个错误吗?
在模型生成期间检测到一个或多个验证错误:
System.Data.Edm.EdmEntityType :: EntityType'Address'没有定义键。定义此EntityType的密钥。 System.Data.Edm.EdmEntitySet:EntityType:EntitySet地址基于没有定义键的地址类型。
我定义了这个实体:
public class Address
{
[Key]
public int ID;
[Required]
[MinLength(1)]
[MaxLength(200)]
public string Address1 { get; set; }
[MinLength(1)]
[MaxLength(200)]
public string Address2 { get; set; }
[Required]
[MinLength(1)]
[MaxLength(10)]
public string Zip { get; set; }
[MinLength(1)]
[MaxLength(100)]
public string Province { get; set; }
public virtual US_State State { get; set; }
[Required]
public virtual Country Country { get; set; }
}
我的问题是:错误如何对具有Key属性数据注释的类以及其PK的传统ID名称有意义。
我认为这个类满足从中生成有意义实体所需的所有规则。
答案 0 :(得分:8)
就像克雷格提到的那样,让ID
属性可以解决你的问题。
public int ID { get; set; }
此外,您不需要[Key]
上的ID
属性,它将首先根据约定通过代码识别为对象标识符(即主键)。