通过linq从db中选择数据

时间:2014-04-08 15:38:56

标签: c# sql linq

让我们说我在SQL Server CE 4.0中有一个名为cars的数据库。

table cars

我想通过Linq在C#中运行查询,以选择所有颜色为绿色和黑色的汽车。在这种情况下,该表只有4列颜色,但假设我们有30多列颜色名称。

我知道桌面设计可能没有意义,但现在让我们忽略它......

我可以运行类似的东西:

var cars = from myCars in cars
           where green== true
           && black == true
           select new { myCars.car, myCars.registration };

但如果颜色列的数量增加到30 +?如何使它更通用?

谢谢。

1 个答案:

答案 0 :(得分:0)

鉴于您断言重新设计数据库不是一个选项,并且您想使用LINQ,那么我可以看到它变得笨拙且难以管理。

有希望,但是......看看Dynamic LINQ。这应该能够以更随意的方式使用LINQ。例如,您现在可以动态构建where表达式部分,并根据需要容纳尽可能多的列。如果将来颜色数量增加,它还可以让您轻松扩展它。