2016-04-11 8 views
1

EFコードで交差テーブルを追加する必要があります。まず、各テーブルの列名が一意でなければならないという情報が得られます。テーブル 'PRODUCT'の列名 'Product_Unit_Product_UnitID'が複数回指定されています。コードの最初の交差テーブル

これはコードです:

public class PRODUCT 
{ 
    public int ProductID { get; set; } 
    public string Name { get; set; } 
    public string Description { get; set; } 
    public decimal Price_Net { get; set; } 
    public decimal Price_Gross { get; set; } 
    public int Vat { get; set; } 
    public decimal Price_Offer_Net { get; set; } 
    public decimal Price_Offer_Gross { get; set; } 
    public bool Is_Offer { get; set; } 
    public bool Is_Lock { get; set; } 
    public OFFER Offer { get; set; } 
    public ICollection<PRICE_CUSTOMER> Price_Customer { get; set; } 
    public int CategoryID { get; set; } 
    public virtual CATEGORY Category { get; set; } 
    public int BrandID { get; set; } 
    public virtual BRAND Brand { get; set; } 
    public int StockID { get; set; } 
    public virtual STOCK Stock { get; set; } 
    public ICollection<PRODUCT_UNIT> Product_Unit_L { get; set; } 
    public int Product_UnitID { get; set; } 
    public virtual PRODUCT_UNIT Product_Unit { get; set; } 

} 

とPRODUCT_UNIT

public class PRODUCT_UNIT 
{ 
    public int Product_UnitID { get; set; } 
    public decimal Converter { get; set; } 
    public int Barcode { get; set; } 
    public ICollection<PRODUCT> Product_L { get; set; } 
    public int ProductID { get; set; } 
    public virtual PRODUCT Product { get; set; } 
    public int UnitID { get; set; } 
    public virtual UNIT Unit { get; set; } 

} 

最初のコードで交差テーブルを追加するために、どのように?すべてのための おかげであなたは、データの注釈の属性を使用して生成されたテーブルの列名(とテーブル名)を指定することができます

enter image description here

答えて

0

を助けます。 key属性を使用して、主キー列を明示的に指定することもできます。

[Table("MyTable")] 
pulic class MyClass 
{ 
    [Key] 
    [Column("MyIdColumn")] 
    public int Id { get; set; } 
} 

しかし、私は最初Product_UnitIDからIdまでに交差点テーブルのプライマリプロパティ(列)の名前を変更しようとするだろう。これにより、問題が解決する場合もあります。


自動主キー検出

あなたが(例えばkey属性を使用するか、流暢なAPIを使用して)明示的に主キーを指定しない場合、EFはIdまたはTableNameIdをという名前の列を検索しますここで説明するように:Default id naming convention in Entity framework code first