因此,對於我當前的應用程序,我需要使用返回單個對象的存儲庫查詢數據庫。問題是信息被分成兩個不同的表格。我試圖得到的對象是一個Rule對象。規則類包括以下數據庫實體:將多表LINQ查詢作爲一個對象返回
class Rule
{
STRATRULEDEF ruleDefinition { get; set; }
List<STRATCODE> ruleCodeList { get; set; }
在我的倉庫IM使用下面的查詢來獲得相關信息:
public void GetRule(int ruleKey)
{
Rule ruleQuery = from ruleDefinition in AREContext.STRATRULEDEFs
from ruleCodes in AREContext.STRATCODES
where ruleDefinition.STRATRULEKEY == ruleKey
&& ruleCodes.STRATRULEKEY == ruleKey
select new { ruleDefinition, ruleCodes };
所以,我有兩個問題。
1)如何返回ruleQuery回爲一個「規則」的對象,如果我改變「變種」統治我得到以下錯誤:
錯誤10無法隱式轉換類型「System.Linq.IQueryable '到'TestRules.Rule'。存在明確的轉換(您是否缺少演員?)
我可以將System.Linq.IQueryable投射到TestRules.Rule嗎?
2)我的表具有一對多的關係,所以查詢應該返回一個ruleDef記錄和多個ruleCode記錄,但是此刻我得到多個ruleDef記錄,這些記錄存在爲相互重複的記錄。有任何想法嗎?
感謝
史蒂夫
試圖您appraoch我有一個類似的錯誤錯誤無法隱式轉換類型 'System.Linq.IQueryable' 到 'System.Collections.Generic.IEnumerable '。存在明確的轉換(您是否缺少演員?) –
Steve2056726
我對實體框架不熟悉。嘗試將AsEnumerable()添加到前兩行以強制使用LINQ to Objects運行。 –