Простой вопрос Linq: как создать запрос с помощью логических операторов - PullRequest
0 голосов
/ 24 февраля 2010

Только начал разрабатывать, используя LINQ, и до сих пор не могу понять некоторые простые вещи. Так, LinqTable.SingleOrDefault(t=>(t.Field1=="value1")) равно SQL "SELECT * FROM LinqTable WHERE Field1="value1" LIMIT 1"

Как создать (используя Linq) запрос типа "SELECT * FROM LinqTable WHERE Field1="value1" AND Field2="value2" LIMIT 1?

Ответы [ 3 ]

3 голосов
/ 24 февраля 2010
LinqTable.Where(row => row.Field1 == "value1" && row.Field2 == "value2").FirstOrDefault();
3 голосов
/ 24 февраля 2010

SingleOrDefault (t => (t.Field1 == "value1" && t.Field2 == "value2"))

1 голос
/ 24 февраля 2010

Обычно вы хотите использовать Where для этого:

var result = LinqTable.Where(t => t.Field1 == "value1" && t.Field2 == "value2").SingleOrDefault();

Вы также можете сделать это непосредственно в строке SingleOrDefault:

var result = LinqTable.SingleOrDefault(t => t.Field1 == "value1" && t.Field2 == "value2");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...