[英]Create list with data from grouped Linq query plus related data from another table
我有兩個實體女巫是通過DataID關聯的。 我需要的是獲取一個列表或兩個列表以將數據傳遞到WPF表單進行顯示。
public class Journal
{
[Key]
public int ID {get; set;}
public int DataID {get; set;}
[ForeignKey("DataID")]
public virtual JournalData JournalData { get; set; }
}
Public class JournalData
{
[Key]
public int DataID {get; set;}
public string Field1 { get; set; }
public string Field2 { get; set; }
}
First of all I created a lists
List<Journal>
List<JournalData>
當我嘗試從按DataID分組的日記中獲取數據時
List<Journal> result = query
.GroupBy(t => t.DataID)
.Select(g => new { DataID = g.Key})
.ToList()
.Select(t => new Journal() { DatatID = t.DataID })
.ToList();
我只有DataID,現在我想從JournalData添加數據,其中DataID = t.DataID
請你幫助我好嗎? 也許是通過關系獲取相關數據的一種方法?
您可能需要在查詢中include
JournalData
您將需要添加以下名稱空間
using System.Data.Entity;
像這樣的東西(未經測試)
List<Journal> result = query
.Include(t => t.JournalData)
.GroupBy(t => t.DataID)
.Select(g => new { DataID = g.Key, JornalData = g.JournalData})
.ToList()
.Select(t => new Journal() { DatatID = t.DataID, JournalData = t.JournalData })
.ToList();
編輯
var result = query.Include(t => t.JournalData)
.GroupBy(g => g.DataID)
.Select(g => new { DataID = g.Key, JournalData = g.Select(j => j.JournalData) })
.ToList();
EDIT2,如果您想在dataID旁邊輸入field1,field2就像這樣
var result = journals.GroupBy(g => g.DataID)
.Select(g => new
{
DataID = g.Key,
Fields = g.Select(j => new { Field1 = j.JournalData.Field1, Field2 = j.JournalData.Field2})
})
.ToList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.