0
我正在使用實體框架,並希望初始化我的數據庫。如何使用代碼優先的實體框架初始化主鍵身份的DatabaseProduct?
我有3個班
- 部門
- 分類
- 產品
我創建一個新的類從播種類DropCreateDatabaseIfModelChanges
繼承數據庫。我很困惑在id列中做什麼,因爲它標記爲身份。
我班的邏輯是:
public class Product
{
[ScaffoldColumn(false)]
[Key()]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ProductID { get; set; }
[Required,StringLength(100),Display(Name="Name")]
public string ProductName { get; set; }
public int? CategoryID { get; set; }
public virtual Categories Category { get; set; }
}
public class Categories
{
[ScaffoldColumn(false)]
public int CategoryID { get; set; }
[Required, StringLength(100), Display(Name = "Name")]
public string CategoryName { get; set; }
[Display(Name = "Product Description")]
public string Description { get; set; }
public virtual ICollection<Product> Products { get; set; }
public int? DepartmentID { get; set; }
public virtual Department Department { get; set; }
}
public class ProductDatabaseInitializer:DropCreateDatabaseIfModelChanges<EwayContext>
{
protected override void Seed(EwayContext context)
{
base.Seed(context);
}
private static List<Categories> Categories()
{
var categories= new List<Categories> {
new Category{DepartmentId = //?? in what way map the items
};
}
}