使用Lightswitch计算属性的Linq to SQL查询过滤器

时间:2016-12-08 18:11:45

标签: c# linq visual-studio-lightswitch computed-properties

根据我在上一个问题中收到的帮助/建议,我设法将问题缩小到计算属性。

此处查询过滤失败:

query = query.Where(a => a.collection.Any(b => b.Name.StartsWith(c)));

其中的所有内容似乎都运行正常,但Name会导致查询失败。 Nameb的计算属性,当我用标准属性替换它时,查询有效。

我不明白sql中的含义,所以我无法弄清楚如何修复/替换它,以便我可以通过该属性进行过滤。如果有人能够解释该查询背后出现的问题,我们将不胜感激。

2 个答案:

答案 0 :(得分:2)

计算属性未在基础数据库中定义,因此您无法在查询中引用它们。

答案 1 :(得分:0)

您应该能够实现目标,具体如下:

var start = "Joh";
var query = content.Where(entity => 
                  entity.ExampleCollection.Exist(obj => 
                  obj.Name.StartsWith(start));

这将根据集合中的Exist进行过滤,并符合您的起始条件。