2016-04-11 26 views
1

EF Code First'e kesişim tablosunu eklemek istiyorum ve her zaman bilgi aldığımda - Her tablonun sütun adlarının benzersiz olması gerekir. 'PRODUCTs' tablosundaki 'Product_Unit_Product_UnitID' sütun adı bir defadan fazla belirtildi.Kod İlk Kesişim Tablosu

Bu kodun:

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; } 

} 

ve 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; } 

} 

Peki ilk kodunda kesişim tablosu eklenir? Herkes için Teşekkür

enter image description here

cevap

0

Veri açıklama özelliklerini kullanarak üretilen tablolar (ve tablo adı) sütun adları belirtebilirsiniz yardımcı olur. Ayrıca, birincil anahtar sütunu key özniteliğini kullanarak açıkça belirtmek de isteyebilirsiniz.

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

Ama önce Product_UnitID den Id için kesişim tablosu birinci özelliği (kolon) adlandırmak çalışacaktı. Bu da sorunu çözebilir.


Otomatik birincil anahtar algılama

sen (örn key özelliğini kullanarak ya da akıcı API kullanarak) explictly birincil anahtar belirtmezseniz, EF Id veya TableNameId adlı bir sütun için bakacağız Burada açıklandığı gibi: Default id naming convention in Entity framework code first