我收到以下错误,而使用POCO实体宽度EF模型生成过程中检测到EF代码第一个问题NO关键字中定义
一个或多个验证错误: System.Data.Edm.EdmEntityType:的EntityType“品牌'没有定义关键字 。定义此EntityType的关键字。 System.Data.Edm.EdmEntitySet:EntityType:EntitySet'Brand'基于 ,其类型'Brand'没有定义键。
POCO
public class Brand
{
//[Key]
public int BrandId { get; set; }
public String BrandName { get; set; }
public String CompanyName { get; set; }
public Int32 CountryId { get; set; }
public String Description { get; set; }
}
DBConetxt
public class DBContext : DbContext
{
public DBContext()
: base("DBContext")
{ }
public DbSet<Brand> Brand { get; set; }
public DbSet<Country> Country { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Brand>().ToTable("dbo.Brand");
modelBuilder.Entity<Country>().ToTable("dbo.Country");
base.OnModelCreating(modelBuilder);
}
}
DB表
BrandId int
BrandName varchar
CompanyName varchar
CountryId int
Description varchar
CreatedBy int
CreatedDate datetime
ModifiedBy int
ModifiedDate datetime
使用
DBContext o = new DBContext();
return o.Brand.ToList();
如果[Key]注释与POCO一起使用来指示pk,那么它工作正常,但我不想在POCO中使用任何依赖类。
任何建议???
谢谢
再次,品牌具有Country表的FK属性。使用MVC创建新品牌时,我需要显示国家列表作为下拉列表。请建议我最好的方法来创建品牌实体以实现这种情景? – Paul 2012-02-28 14:33:51
您使用的是什么版本的实体框架?如果您使用4.1+(http://msdn.microsoft.com/en-us/library/hh161541(v=vs.103).aspx) – 2012-02-28 15:03:27