Запрос с помощью LINQ основной вопрос - PullRequest
2 голосов
/ 23 августа 2010

У меня сегодня два вопроса, но они оба маленькие: -)

1) Где найти хороший ресурс для изучения выбора linq / sql в C #?

2) Скажи, что яесть таблица с именем Model, со свойствами Name, Color, Shape.Как сделать запрос, чтобы выбрать только те строки, которые НЕ имеют нулевых значений в любом столбце.

Я пытался:

var d = database.Portfolio.SelectMany(x => x.Model.Model1 != null);

Заранее спасибо

правка :

выглядит как var models = from p in database.Models.Where(x => x.Model1 != null) select p.Model1;

1 Ответ

4 голосов
/ 23 августа 2010

Я много смотрел на 101 LINQ Samples , когда я начинал с LINQ.

Если у вас есть LINQ DataContext, он обычно имеет вид [datacontext-name]. [Table].Поэтому, если ваша таблица называется Model, она должна быть [datacontext-name] .Model или в вашем случае database.Model.

Это немного сбивает с толку, что вы говорите о таблице с именем Model, но в своем коде вывыбирая из чего-то под названием Портфолио.Но в любом случае что-то подобное должно работать.

var result = database.Model.Where(x=> x.Name != null && x.Color != null && x.Shape != null);

Редактировать Судя по комментариям к этому ответу, похоже, что проблема в том, что вы смешиваете режим запроса и режим методапри написании нашего запроса.

//Query mode
var models = from p in datDB.Models
             where p.Model1 != null
             select p;

//Method mode
var models = datDB.Models.Where(p => p.Model1 != null);

Это просто разные способы написания оператора LINQ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...