我有2個表(文件和的DocumentClass)具有下列列的列表:LINQ以及如何返回一個特定類型的
的DocumentClass:DocClassID,名稱,PARENTID
文件:的DocID,名稱, DocClassID
DocumentClass
表包含父級和子級記錄,並且父級和子級之間的關係是ParentID列。 Document
記錄通過DocClassID外鍵與DocumentClass
中的子記錄鏈接。
在DocumentClass
父記錄有PARENTID = 0,並在DocumentClass
兒童記錄都PARENTID!= 0
我想從DocumentClass
表中檢索一個孩子的姓名和孩子的父母姓名。
我已經設法創建一個功能,爲我做。我發送文檔ID列表,找到那些與文檔關聯的DocumentClass
記錄(子記錄),然後找到這些子記錄的父代。然後我把我想要的信息放入一個Child類。
public List<Child> GetDocClassInfo(List<int> docIds)
{
var result = from dc in _context.DocClasses
from d in _context.Documents
where dc.DocClassID == d.DocClassID
where dc.DocClassID != 0
where docIds.Contains(d.DocID)
select new
{
children = from p in _context.DocClasses
where dc.ParentID == p.DocClassID
select new Child
{
ChildId = dc.DocClassID,
ChildDocClassName = dc.DocClassName,
ParentId = p.DocClassID,
ParentDocClassName = p.DocClassName
}
};
return result.ToList();
}
我的問題是,我想要從函數返回一個List,但編譯器根本不喜歡這個。我得到一個錯誤,說
不能將類型
System.Collections.Generic.List``<AnonymousType#1>
隱式轉換爲System.Collection.Generic.List<Child>
。
如何編寫該LINQ查詢以返回List?
此致
OKB
不應該這個也許被標記爲您返回一個匿名類型.......罰款我會去做 – mpen 2010-08-13 06:47:39