实体框架,映射实体

时间:2012-11-06 04:13:28

标签: entity-framework entity

我的Product表包含category1和category2字段,

并且每个字段都包含一个表示类别表ID(FK)的数字(ID)。

我想在检索数据时为set category name添加实体,但我不知道如何使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;}
}

但是当我尝试检索数据时,我收到了一个错误,

'on子句'中的未知列'Extent1.category1_name_no'

如何将category1_name映射到类别表ID?

1 个答案:

答案 0 :(得分:3)

您希望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;}
}

您应该考虑遵循命名属性的正确命名约定。