0
創建我的數據庫結構時遇到問題。例如,我有那3個類創建3列的密鑰,包括與另一個表的關係(代碼優先)
public class Product
{
[Key, Column(Order = 1)]
[Required]
public string ItemNo { get; set; }
[Key, Column(Order = 2)]
[Required]
public string VariantCode { get; set; }
public virtual List<ProductAttribute> Attributes { get; set; }
public Product()
{
Attributes = new List<ProductAttribute>();
}
}
public class ProductAttribute
{
[Key]
[Required]
public string FieldName { get; set; }
public string FieldValue { get; set; }
public virtual Product Item { get; set; }
}
public class DbContext : DbContext
{
public DbSet<Product> Products { get; set; }
public DbSet<ProductAttribute> Attributes { get; set; }
}
產品表的主鍵是ItemNo + VariantCode並且將被正確創建。第二個表ProductAttribute應該有一個ItemNo + VariantCode + FieldName的關鍵字,但是EF6以上的代碼會創建一個主鍵FieldName和一個ItemNo + VariantCode的外鍵。我已經嘗試了幾件事情,包括將[Key]屬性設置爲ProductAttribute類中的Item屬性,但這不起作用。任何想法如何做到這一點?