假设我们有一个表达方式:
var prices = from p in PriceDB.Prices
where p.TypeID == 12
orderby p.PriceType.Title
select p;
是否可以修改选择列表?
我想它看起来像这样:
var newPriceList = prices.Select( p => p.ExchangeRate );
这可能是一个奇怪的请求,但是在我的代码中(这里发布的时间太长而且很复杂)我想根据CheckBoxList有条件地添加要输出的字段。
当然,我认为我试图以错误的方式解决这个问题......
答案 0 :(得分:1)
我想它看起来像这样:
实际上它看起来就像那样。首先,构建一个查询,选择整个记录。然后添加一个select(使用Select()方法似乎是最简单的方法)来限制选择。 Linq-to-Sql将对这两个选择进行排序,并使用正确的reselt,因此在最终的SQL中只有一个选择。
在多个选择之间没有真正好的方法可供选择。我可能会使用开关/盒子。
答案 1 :(得分:0)
您可能希望查看此Dynamic LINQ and Dynamic Lambda expressions?
或Dynamic Expression API(System.Linq.Dynamic)。
答案 2 :(得分:0)
虽然可以沿着动态路线走下去,但我强烈建议不这样做。在您的特定情况下,如果您不需要额外值,那么获取额外值的成本是多少?问题是他们是否动态显示并且您只希望在某些情况下显示它们?如果是这样,我建议以某种方式修改显示代码。
很难保持强类型(具有各种优势),同时在获取内容方面具有动态性。当然,如果您总是想要获取相同的“形状”数据(例如,每行只有一个decimal
值),那么这相当容易 - 请告诉我您是否希望看到这些内容。
如果您可以告诉我们有关您的问题的更多信息,我们可能会建议其他解决方案。
答案 3 :(得分:0)