2015-08-06 4 views
1

Я хотел бы исключить результат запроса.Entity Framework исключить результат

например у меня есть:

Table_1 (Id, name) 
Table_2 (Id, Table_1_Id) 

И я хочу написать запрос, который вернет только результат Table_1, который не существует в Table_2. Это отношение для многих.

Любые идеи?

var query = db.Table_1.Include("Table_2").Where(???? 

ответ

0

Вы должны использовать Except:

var query = db.Table_1.Select(MapToType).Except(db.Table_2.Select(MapToSameType)); 

Если вы используете старую версию EF, которая не поддерживает его, вы можете использовать All:

var query = db.Table_1.Where(x => db.Table_2.All(y => y.Table_1_Id != x.Id); 
Смежные вопросы