我的模型具有如下定义的属性:
public string NameId { get; set; }
我已经读到,如果EF的名称为"ID"
或"somethingID"
,则EF可以识别ID。为什么我不这样呢?它是sql服务器中的主键。
答案 0 :(得分:1)
EF给出了正确的错误。
根据EF设计,如果您的NameId
名称为class
,则Name
将被视为主键。否则,您必须显式使用[Key]
属性。
例如:
public class Entity
{
public string EntityId { get; set; }
}
在上述情况下,EntityId
将被视为主键,因为其前缀为类名Entity