在LightSwitch查询中使用计算字段

时间:2013-02-08 01:14:43

标签: c# visual-studio-lightswitch lightswitch-2012

假设我有一个Customer字段DayOfBirth的简单表和一个计算字段'Age' 现在我想使用Age搜索表格。

我将Age作为参数传递给查询,所以我首先想到的是:

                    query = from c in query
                    where (DateTime.Now - c.DateOfBirth).Days / 360 == Age.Value
                    select c;

但这当然不会起作用,因为数据提供者不知道如何执行“.Days”

那么这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

解决方案是在表格中添加非计算字段并添加新记录事件我只需计算年龄并将其保存到数据库中,以便稍后进行搜索!

但我确信应该有更好的主意!

答案 1 :(得分:0)

有很多方法可以绕过 .Days 部分,但是 Age 属性会遇到同样的问题,除非没有办法围绕那一个。计算属性仅存在于LightSwitch本身中,因此数据提供者再次无法使用它们。

Stacker建议添加非计算属性&将计算出的值存储在数据库中是我的方式(如果我没有使用 RIA服务,这是我实际处理这些情况的方式)。