查询LINQ基本问题

时间:2010-08-23 05:23:01

标签: c# sql asp.net-mvc visual-studio linq

我今天实际上有两个问题,但它们都很小: - )

1)在C#中学习linq / sql选择的好资源在哪里?

2)假设我有一个名为Model的表,其属性为Name,Color,Shape。如何进行查询以仅选择任何列中DONT具有空值的行。

我试过了:

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 个答案:

答案 0 :(得分:4)

当我开始使用LINQ时,我在101 LINQ Samples看了很多。

如果你有一个LINQ DataContext,它的形式通常是[datacontext-name]。[table]。 因此,如果您的表名为Model,则它应该是[datacontext-name] .Model或您的database.Model

您谈论的是一个名为Model的表,但在您的代码中,您从名为Portfolio的内容中进行选择,这有点令人困惑。但无论如何,这样的事情应该有效。

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语句只是不同的方法。