OnValidate () и LINQ для сущностей - PullRequest
1 голос
/ 03 июня 2009

Я хотел бы реализовать некоторую проверку бизнес-правил, как это делал Скотт Гатри в своем уроке MVC Nerddinner (http://nerddinnerbook.s3.amazonaws.com/Part3.htm),, но я столкнулся с проблемой при попытке сделать это.

Скотт использовал Linq to SQL в своем уроке. Он создает частичные классы для своих объектов данных, а затем реализует частичный метод OnValidate (), который, по его словам, является ловушкой, которая запускается, когда данные сохраняются в базе данных для данного объекта данных.

public partial class Dinner {

  partial void OnValidate(ChangeAction action) {

    if (!IsValid)
      throw new ApplicationException("Rule violations prevent saving");
    }

}

Моя проблема в том, что я использую Linq для Entities, и, по-видимому, нет такого метода "hook", как тот, который можно использовать выше, или, по крайней мере, я не могу его найти, если он есть. Кто-нибудь может подсказать мне, как это сделать с Linq to Entities?

Ответы [ 2 ]

2 голосов
/ 04 июня 2009

Вы можете выполнить проверку данных в linq-to-entity, но, как вы обнаружили, она отличается от linq-to-sql. Смотрите следующую ссылку:

проверка данных в linq-to-entity

0 голосов
/ 03 июня 2009

Проверка:

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