我正在尝试将一些计算字段添加到使用 WCF 数据服务在外部公开的实体框架模型中,我遇到的问题是我尝试的任何内容都不会暴露在我的服务之外。
我尝试添加以下代码(注意:实际方法在 get/set 方法中有业务逻辑):
public partial class myClass
{
[DataMember]
public string Foo { get; set; }
}
但是 OData 仍然没有返回该字段,似乎 OData 只查看 .edmx。
目前我能想到解决这个问题的唯一选择是实现一个CLR function
并让我的实体框架模型查看一个 SQL view
,它为每个返回的行调用我的函数并计算服务器端的值,并使用存储过程来更新实体. 但我宁愿不必为实际上是一个简单的(在 .NET 中,但在 SQL 中不是)计算字段而经历所有这些。
计算此字段时,我还有哪些其他选择?