如何在ADO.Net Data Services上使用部分(实体框架)类中定义的只读属性
-
08-07-2019 - |
题
我有实体框架定义的对象,然后我通过部分类添加了其他方法和属性。我想我理解了这方面的大部分限制,但是想要确认我所看到的东西(或者希望了解我需要做些什么来使这项工作)。
我有一个部分类,然后有一个只读属性,它使用一些项来创建一个只读的计算字段。很奇怪看到只读属性没有像我希望/期望的那样通过ADO.Net数据服务返回。即我希望通过数据服务调用看到实体框架上的属性以及通过部分类在代码中定义的属性。
是这样的吗?当ADO.Net Data Services查询数据时,是否完全忽略了部分类?如果是这样,将只读类型属性添加到实体的最佳实践是什么(因为我希望避免将具有不同命名空间的相同部分类切割并粘贴到客户端和服务器端代码库中)。 / p>
解决方案
其他提示
这里有两个不同的问题 - 基本模型(EF)和WCF / mex层。您的其他属性不会是edmx模型的一部分,但我想知道问题是否与WCF / mex方面没有多大关系。
但是,即使它有效,ADO.NET Data Services也会传输数据,而不是逻辑。所以依赖计算属性不是一个安全的选择:客户端不会有公式 - 只是原始值。
要找出它是什么,请尝试将属性读/写(即使写入没有做任何有用的事情),并确保该值具有[DataMember]属性等。
我认为问题在于使用XML序列化,它只使用get和set方法序列化属性。否则它无法反序列化。添加一个空的set方法到你的属性,看看你如何去。
罗布
不隶属于 StackOverflow