Sql server EntityType在名为“的列上没有定义键”;NameId";
我的模型具有如下定义的属性:Sql server EntityType在名为“的列上没有定义键”;NameId";,sql-server,entity-framework,Sql Server,Entity Framework,我的模型具有如下定义的属性: public string NameId { get; set; } 我读到EF识别ID,如果它的名称是“ID”或“somethingID”。为什么我的情况不是这样?它是sql server中的主键。EF给出了正确的错误 根据EF设计,如果您的class名称为name,则NameId将被视为主键。否则,必须显式使用[Key]属性 例如: public class Entity { public string EntityId { get; set; } }
public string NameId { get; set; }
我读到EF识别ID,如果它的名称是
“ID”
或“somethingID”
。为什么我的情况不是这样?它是sql server中的主键。EF给出了正确的错误
根据EF设计,如果您的class
名称为name
,则NameId
将被视为主键。否则,必须显式使用[Key]
属性
例如:
public class Entity
{
public string EntityId { get; set; }
}
在上述情况下,EntityId
将被视为主键,因为它的前缀是类名Entity