让我们说我在SQL Server CE 4.0中有一个名为cars的数据库。
我想通过Linq在C#中运行查询,以选择所有颜色为绿色和黑色的汽车。在这种情况下,该表只有4列颜色,但假设我们有30多列颜色名称。
我知道桌面设计可能没有意义,但现在让我们忽略它......
我可以运行类似的东西:
var cars = from myCars in cars
where green== true
&& black == true
select new { myCars.car, myCars.registration };
但如果颜色列的数量增加到30 +?如何使它更通用?
谢谢。
答案 0 :(得分:0)
鉴于您断言重新设计数据库不是一个选项,并且您想使用LINQ,那么我可以看到它变得笨拙且难以管理。
有希望,但是......看看Dynamic LINQ。这应该能够以更随意的方式使用LINQ。例如,您现在可以动态构建where
表达式部分,并根据需要容纳尽可能多的列。如果将来颜色数量增加,它还可以让您轻松扩展它。