从一对多关系中获取Entity Framework中的数据

时间:2014-12-01 08:45:09

标签: entity-framework asp.net-mvc-4

我首先使用Entity Framework数据库, 我有两张桌子:

  • DSRItems(主表)
  • DSRItemDetails(奴隶表)

DSRItems拥有永久性数据,例如ItemNameCategorySubcategoryDSRItemDetails的数据会因特定年份而变化,例如completed rate,{ {1}},Number

1)为此,当我想显示特定年份的数据时,我使用以下代码

Subnumber

但是我无法显示来自Slave table(allDSRItems = db.DSRItems .Where(c => c.CategoryCode == DSRCategory && c.SubCategoryCode == DSRSubCategory && c.DSRItemDetails .Any(a => a.DSRYear == DSRYear) && c.DSRItemDetails .Any(a => a.DSRRegionCode ==Region )) .OrderBy(x => x.DSRItemDetails.Min(m => m.Number)).ToList(); )的数据,例如DSRItemdetails(可能我需要在剃刀视图中进行一些更改,但我不能做得很好)

2)对于编辑表单,我也无法按年度设置DSRYear个参数

我使用以下剃刀代码来执行此操作

DSRItemDetails

它显示我需要显示用户从模块中选择的值的第一年值。我是否必须更改编辑控制器,因为我只将一个模型传递给编辑视图,即。 @Html.EditorFor(model => model.DSRItemDetails.First ().DSRYear )

1 个答案:

答案 0 :(得分:0)

可能会对某人有所帮助:

allDSRItems = (from items in db.DSRItems 
              join details in db.DSRItemDetails on items.CategoryID equals details.CategoryID  
              where items.CategoryCode == DSRCategory && items.SubCategoryCode == DSRSubCategory && details.DSRItemDetails=""
              select new SelectItemsList() { //Items you want to select })