我可以在EF 3.5中使用标量属性指向数据库中的某个函数吗?

时间:2013-05-24 13:21:22

标签: entity-framework

是否可以让实体中标量属性的数据来​​自函数?

一个例子是,我的数据库中有一个字段,point是一个数字字段,但这对用户来说没有任何意义,所以我想添加另一个属性,但让它指向一个返回有意义名称的函数。

我不想将这个额外字段添加到表中,所以我宁愿将其添加到模型中,现在我正在通过视图进行操作,但我宁愿不向模型添加视图。

另外,如果我添加此属性并从数据库更新我的模型,添加的属性是否会消失?

1 个答案:

答案 0 :(得分:0)

我已经这样做了,但我使用的是Code-First,并且正在使用WCF数据服务中的自定义提供程序。所以YMMV。当我构建元数据时,我说特定属性(ResourceProperty)的CanReflectOnInstanceTypeProperty设置为false。执行查询后,您必须修改表达式树,将DataServiceProviderMethods.GetValueDataServiceProviderMethods.GetSequenceValue的实例替换为您自己的表达式。您可以通过ExpressionVisitor课程来完成此操作。

这很棘手,但绝非不可能。

我发现有一些资源非常有用......

data service providers上的这一系列博文。

Vitek关于data service expressions的这一系列文章(特别是有关打字和无类型属性的第4部分)。

我希望你觉得这很有用......