Могу ли я сказать EntLib игнорировать свойство в моем бизнес-объекте при вызове ExecuteSprocAccessor? - PullRequest
0 голосов
/ 22 ноября 2010

Допустим, у меня есть бизнес-объект с 5 свойствами и sproc, который возвращает 4 столбца с именами, соответствующими 4 из этих свойств. Вызов ExecuteSprocAccessor не удастся. Есть ли способ, которым я могу пометить 5-е свойство атрибутом, например, сказать EntLib игнорировать его?

1 Ответ

1 голос
/ 22 ноября 2010

Вы можете сделать это при создании картографа. В принципе, как-то так:

var results = db.ExecuteSprocAccessor("some_sproc",
    MapBuilder<MyTargetType>.MapAllProperties()
        .DoNotMap("SomethingThatDoesntMatch")
        .Build(),
    param1, param2, param3);

Это сопоставит все параметры с результатами по имени, но ничего не сопоставит со свойством SomethingThatDoesntMatch.

Что нужно знать: создание сопоставителя набора результатов с помощью MapBuilder довольно дорого, и оно не кэшируется автоматически. Если вы делаете этот вызов в цикле, он, вероятно, будет медленным. Я бы порекомендовал создать картограф заранее и удерживать его, или создать аксессуар отдельно и удерживая его.

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