2

实体

public class Region
{
    [Key]
    public int ID;
    public string Name; 
    public string Description;
}

模型

public class RegionModel
{   [Key]
    public int ID { get; set; }

    public string Name { get; set; }

    public string Description { get; set; }
}

错误

System.Data.Edm.EdmEntityType: : EntityType 'Region' 没有定义键。定义此 EntityType 的键。
System.Data.Edm.EdmEntitySet:EntityType:EntitySet “Regions”基于没有定义键的“Region”类型。

4

3 回答 3

6

您的类字段需要更改为属性,EF 才能正确使用该类;

public class Region
{
    [Key]
    public int ID { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
}
于 2012-12-16T12:02:34.433 回答
0
public class Region
{
    [Key]
    public int RegionId{get;set;}
    public string Name{get;set;} 
    public string Description{get;set;}
}

public class RegionModel
{   [Key]
    public int RegionModelId { get; set; }

    public string Name { get; set; }

    public string Description { get; set; }
}

如果你有它,它就ClassNameId可以工作。你现在甚至可以删除[Key]属性。

于 2012-12-16T12:00:31.980 回答
0

也许对您的问题有一个奇怪的答案。但请确保您的项目首先编译。当我在不编译项目的情况下添加数据注释时,我得到了同样的错误。

我认为代码是通过某种反射生成的。

于 2013-10-12T06:28:41.097 回答