我今天实际上有两个问题,但它们都很小: - )
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;
答案 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语句只是不同的方法。