2012-11-06 48 views
1

我有有類別1和類別2字段指示類別表ID(FK)產品表格中,實體框架,變換實體

和每個字段包含一個數字(ID)。

我想爲設置的類別名稱添加實體時,我檢索數據,但我不知道如何使category1_name和category2_name可以有類別名稱。 (很難解釋= 3)

EX)

public class Product 
{ 
    [Key] 
    public int no {get; set;} 
    public int category1 {get; set;} // category table ID number 
    public int category2 { get; set;} // category table ID number 

    public virtual Category category1_name {get; set;} 
    public virtual Category category2_name {get; set;} 
} 


public class Category 
{ 
    [Key] 
    public int no {get; set;} 
    public string category {get; set;} 
} 

但是,當我嘗試檢索數據,我得到了一個錯誤,

未知列 'Extent1.category1_name_no' 在「on子句'

如何將category1_name映射到類別表ID?

+0

你可能想看看ForeignKeyAttribute。 – Pawel

回答

4

您如何期望EF知道哪個標量屬性映射到哪個導航屬性。您必須使用流暢的API或數據註釋來配置正確的映射。

public class Product 
{ 
    [Key] 
    public int no {get; set;} 
    public int category1 {get; set;} // category table ID number 
    public int category2 { get; set;} // category table ID number 

    [ForeignKey("category1")] 
    public virtual Category category1_name {get; set;} 

    [ForeignKey("category2")] 
    public virtual Category category2_name {get; set;} 
} 

您應該考慮遵循命名屬性的正確命名約定。