加入3個表/模型/實體後,我可以簡單地從視圖模型中檢索數據。但是當我分配GroupBy時,我無法以正常方式獲取數據。我需要從分組數據中獲取數據。LINQ:在加入數據後檢索GroupBy後的模型數據
var modelList =
from model1 in db.Model1
join model2 in db.Model2 on model1.id equals model2.model1_id
join model3 in db.Model3 on model2.id equals model3.model2_id
where ((model1.id== 2) && (model.menu_id== 3))
orderby subMenu.SUBMENU_NAME
select new USER_ACCISSIBLE_SUBMENUE_VIEWMODEL
{
MODEL_VIEW_MODEL1 = model1,
MODEL_VIEW_MODEL2 = model2,
MODEL_VIEW_MODEL3 = model3
};
string myData= "";
foreach (var item in modelList)
{
myData+= item.MODEL_VIEW_MODEL1.COLUMN1 + item.MODEL_VIEW_MODEL2.COLUMN2 + item.MODEL_VIEW_MODEL3.COLUMN3;
}
直到現在,這工作很簡單。 但在下面的行後,我得到了for-each循環的錯誤。我已經給出了我的要求的一般形式。我還通過將GroupBy與modelList LINQ放在一起進行測試,而不是使用modelListGrouped變量。但同樣的錯誤。 Item使用GroupBy子句時找不到視圖模型。我需要從分組元素中檢索數據。
var modelListGrouped = modelList .GroupBy(x => x.MODEL_VIEW_MODEL1.id);
foreach (var item in modelListGrouped)
{
myData+= item.MODEL_VIEW_MODEL1.COLUMN1 + item.MODEL_VIEW_MODEL2.COLUMN2 + item.MODEL_VIEW_MODEL3.COLUMN3;
}
如果可能,向我們顯示輸入和所需的輸出。 –
GroupBy正在爲該組的值創建一個集合。所以你需要使用Select來枚舉集合。 – jdweng