2013-05-12 112 views
-1

我正在使用實體框架4.3。從嵌套實體框架實體中選擇

我有一個名爲貸款人的用戶實體 - 貸款人有很多借貸層。還有很多其他實體與貸款人相關,但爲了清晰起見,我會保持結構簡單。

我需要做的是返回一個貸款人,但只有一個匹配的Tier基於一些標準,換句話說,一個扁平的結構層。

我不確定如何在單個語句中做到這一點 - 任何人都可以幫忙嗎?

+4

你能詳細說明一下嗎?輸入/輸出的例子會澄清你的問題。 – 2013-05-12 18:52:01

+3

此外,您的查詢現在是什麼樣子,您在哪裏遇到問題? – Magnus 2013-05-12 18:52:42

回答

0

你「爲一級扁平結構」的含義是有點暗給我,但也許你正在尋找類似以下的投影:

var lenderWithTier = context.Lenders 
    .Where(l => l.Something == something) // lender filter 
    .Select(l => new 
    { 
     Lender = l, 
     Tier = l.Tiers 
      .Where(t => t.SomethingElse == somethingElse) // tier filter 
      .FirstOrDefault() // only one tier 
    }) 
    .FirstOrDefault(); 

lenderWithTier是具有一個匿名對象lenderWithTier.Lender財產和一個lenderWithTier.Tier財產是一個單一的Tier對象(或null如果沒有任何與貸方相關的層匹配層過濾器)。

+0

對這個問題的模糊性表示歉意 - 我只是不知道該怎麼說好。你已經完全理解了這個要求 - 這是我需要做的。 – dotnetnoob 2013-05-13 09:08:52