我收到以下錯誤,而使用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