Лучший способ игнорировать свойства с помощью WCF Data Service - PullRequest
1 голос
/ 20 января 2012

Я использую ASP.NET MVC4 (сначала код EF) с WCF ADO.NET Data Service, октябрь 2011 г. CTP. У меня проблема - я не знаю, как игнорировать конфиденциальные свойства (например, электронную почту).

Я попытался использовать модель данных объекта ADO.NET (.edmx) и нашел объявление чувствительного свойства:

[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
[DataMemberAttribute()]
public global::System.String MySensitiveProperty
{
    get
    {
        return _MySensitiveProperty;
    }

и замена геттера:

[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
[DataMemberAttribute()]
public global::System.String MySensitiveProperty
{
    get
    {
        return "No data here!";
    }

Есть ли лучшее и более простое решение для моей проблемы?

Ответы [ 2 ]

2 голосов
/ 28 февраля 2012

Вы можете использовать атрибут IgnoreProperties. Просто украсьте свой класс этим атрибутом и передайте ему список имен свойств. Эти свойства не будут доступны службе данных. Смотрите здесь

1 голос
/ 20 января 2012

В таком случае, почему вы выставляете это свойство?Когда вы делаете это таким образом, вы говорите, что вашему приложению (не являющемуся частью вашего приложения) никогда не требуется свойство электронной почты.В таком случае удалите свойство из сущности, отображенной в EDMX, и оно никогда не будет доступно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...