如果我有一个这样的类:
public class Facet : TableServiceEntity
{
public Guid ParentId { get; set; }
public string Name { get; set; }
public string Uri{ get; set; }
public Facet Parent { get; set; }
}
Parent是从ParentId Guid派生的,并且该关系旨在由我的存储库填充。那么我如何告诉Azure不要处理该字段?是否存在某种类型的Ignore属性,或者我必须创建一个继承的类来提供这些关系?
6条答案
按热度按时间js5cn81o1#
使用最新的Microsoft.WindowsAzure.Storage SDK(v6.2.0及更高版本),属性名称已更改为
IgnorePropertyAttribute
:5lwkijsr2#
有一个名为WindowsAzure的属性。Table.Attributes.IgnoreAttribute可以在要排除的属性上设置。只需用途:
它是Windows Azure存储扩展的一部分,您可以从以下位置下载:https://github.com/dtretyakov/WindowsAzure
或者作为包安装:https://www.nuget.org/packages/WindowsAzure.StorageExtensions/
该库是MIT许可的。
e1xvtsh33#
这是安迪·克罗斯在bwc的回复---再次感谢安迪。
你好
使用WritingEntity和ReadingEntity事件。http://msdn.microsoft.com/en-us/library/system.data.services.client.dataservicecontext.writingentity.aspx这为您提供了所需的所有控制。
这里也有一篇博客链接:http://social.msdn.microsoft.com/Forums/en-US/windowsazure/thread/d9144bb5-d8bb-4e42-a478-58addebfc3c8
谢谢安迪
a9wyjsp74#
您可以重写TableEntity中的WriteEntity方法并移除具有自定义特性的任何属性。
用法
km0tfn4u5#
您还可以使getter和setter为非公共的,以便跳过保存在表存储数据库中的属性。
参见:https://stackoverflow.com/a/21071796/5714633
nsc4cvqm6#
这些答案可能有点过时了。
对于那些已经登陆并仍然需要最新版本Azure的此功能的用户,请使用
[IgnoreDataMember]