Можно ли обновить значения измененного события, используя частичные методы Entity Frameworks? - PullRequest
0 голосов
/ 25 ноября 2011

Мне было интересно, как изменить входные значения при использовании Entity Framework.До сих пор я использую самодельные пользовательские классы, которые я преобразовываю в классы сущностей.Я думаю, что удваиваю работу, которую я должен сделать.В пользовательском классе я преобразовываю входящее значение в установщик.Почтовые индексы в Нидерландах состоят из 4 цифр и 2 символов.Некоторые люди разделяют их пробелом, другие присоединяются к ним вместе.В этот момент Regex отделит цифры от символов, если это необходимо.При использовании Entity Framework.Есть ли возможность изменить входящее значение перед записью значения в базу данных?И если да, то как мне это сделать?

Я искал валидацию, но во всех примерах я видел только ошибки, которые не преобразовывали значение.

Пример почтового индекса Нидерландов: "5126HG" или "5126 HG" должны приводить к одному и тому же результату в базе данных.Я уже знаю, как изменить, но не где и как подать заявку.

Ответы [ 2 ]

1 голос
/ 25 ноября 2011

Я думаю, что использование пользовательских классов - хорошая идея, это похоже на реализацию шаблона DTO и хороший способ отделить бизнес-уровень от уровня доступа к данным.Но если вы хотите добавить некоторые методы проверки / модификации в классы сущностей, вы можете сделать это.

Если вы используете EF 4.1, у вас есть классы POCO для сущностей, созданных генератором как частичные классы.Вы можете добавить свои собственные частичные классы, добавив методы проверки, но вам необходимо явно вызвать эти методы перед выполнением операции db.

Другой способ - использовать пользовательский обработчик SaveChange.Здесь вы можете найти пример настройки SaveChange.http://msdn.microsoft.com/en-us/library/cc716714.aspx

0 голосов
/ 09 октября 2015

Есть ли возможность изменить входящее значение перед записью значения в базу данных?И если да, то как мне это сделать?

Лучше иметь некоторый отдельный класс Controller с методом, который принимает, проверяет, преобразует входные данные и только затем устанавливает свойства Entity с помощью valid,правильные и согласованные значения.

Таким образом, ваши Entities всегда будут действительными и правильными, и вам никогда не потребуется нестандартный механизм для изменения значений перед записью в базу данных.

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