实体框架:如何从相关表中获取数据(很多)

时间:2018-06-29 07:22:27

标签: c# entity-framework foreign-keys

我有两个桌子

LOCATIONS:
Id
Name
OwnerId (FK to Owners table)

PARAMTERS:
Id
LocationId
TypeId
Name
Value

数据类似于:

LOCATIONS
1,'Park',100
2,'Shop',200
PARAMETERS
1,1,'Length',5,200
2,1,'Width',5,100
3,2,'Area',6,100

我想检索所有位置的数据,其中将包括每个位置的所有参数。

我有一个无法使用的查询。

_locationsRepository.GetAll()
      .Include(x => x.Owner)
      .Include(x => x.Parameters)
      .ToList();

在不包含“参数”的情况下运行此程序效果很好。 在参数表中有FK(到位置表)。

我想念什么吗? 如果有人可以帮助,我们将非常高兴。

1 个答案:

答案 0 :(得分:1)

您可能想要尝试添加以下内容:

[InverseProperty("Location")]
public virtual ICollection<Parameters> Parameters { get; set; }

到“位置”表并添加

[ForeignKey("LocationId")]
public virtual <Location> Location { get; set; }

进入“参数”表以进行反向查找并帮助EF正确生成外键(假设您当然使用的是CodeFirst)。

两个标签都位于内部

System.ComponentModel.DataAnnotations;