我正在使用ASP.NET MVC4(EF代码优先)和WCF ADO.NET数据服务2011年10月CTP。我有一个问题 - 我不知道如何忽略敏感属性(如电子邮件)。
我尝试使用ADO.NET实体数据模型(.edmx)并找到敏感属性的声明:
[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
[DataMemberAttribute()]
public global::System.String MySensitiveProperty
{
get
{
return _MySensitiveProperty;
}
并更改getter:
[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
[DataMemberAttribute()]
public global::System.String MySensitiveProperty
{
get
{
return "No data here!";
}
我的问题是否有更好更简单的解决方案?
答案 0 :(得分:2)
您可以使用IgnoreProperties属性。只需使用此属性修饰您的类,并将属性名称列表传递给它。这些属性不会暴露给数据服务。见here
答案 1 :(得分:1)
在这种情况下,为什么要公开该财产?一旦你这样做,你就说你的应用程序(不是你的应用程序的一部分)永远不需要电子邮件属性。在这种情况下,从EDMX中映射的实体中删除属性,它将永远不可访问。