簡體   English   中英

使用來自分組的Linq查詢的數據以及來自另一個表的相關數據創建列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM