EntityType在名为“ NameId”的列上未定义键

时间:2019-04-12 10:33:41

标签: sql-server entity-framework

我的模型具有如下定义的属性:

public string NameId { get; set; }

我已经读到,如果EF的名称为"ID""somethingID",则EF可以识别ID。为什么我不这样呢?它是sql服务器中的主键。

1 个答案:

答案 0 :(得分:1)

EF给出了正确的错误。

根据EF设计,如果您的NameId名称为class,则Name将被视为主键。否则,您必须显式使用[Key]属性。

例如:

public class Entity
{
    public string EntityId { get; set; }
}

在上述情况下,EntityId将被视为主键,因为其前缀为类名Entity