2013-05-12 2 views
-1

Я использую Entity Framework 4.3.Выберите из объекта инфраструктуры вложенного объекта

У меня есть пользовательский объект с именем Lender - у кредитора много кредитов. Есть много других объектов, связанных с кредитором, но для цели или для ясности, я буду держать структуру простой.

Что мне нужно сделать, это вернуть кредитора, но только с одним согласованным уровнем, основанным на некоторых критериях, иными словами, сглаженной структурой для уровня.

Я не уверен, как это сделать в одном заявлении - может ли кто-нибудь помочь?

+4

Можете ли вы уточнить? пример ввода/вывода прояснит ваш вопрос. –

+3

Кроме того, как выглядит ваш запрос прямо сейчас, где у вас проблемы? – Magnus

ответ

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

Смежные вопросы