Есть ли способ извлечь общие столбцы из разных таблиц в один базовый класс в платформе Entity Framework ADO.NET при использовании дизайнера EDMX? Например, каждая отдельная таблица в моей базе данных имеет столбец «LastUpdatedBy» и «LastUpdatedDate», необходимый для целей аудита. Я хотел бы установить эти значения автоматически в событии «SavingChanges» в моем сгенерированном объекте ObjectContext без использования отдельных типов сущностей. См. Пример этого How to: Execute Business Logic When Saving Changes (Entity Framework). Вы можете увидеть в примере, как они передают сущности для доступа к различным свойствам. Я хотел бы иметь возможность применить к базовому типу только один раз (если он этого типа) и установить свойства.Общие столбцы в объектах ADO.NET
ответ
Я боюсь, что, вероятно, нет - насколько я понимаю, дизайнер EDMX будет генерировать единый (хотя и частичный) класс для каждой таблицы/сущности, и вы не можете «вставлять» любые общие базовые таблицы в микс.
Что вы можете исследовать, возможно, поместите ваши общие данные в интерфейс (ICommonData), а затем реализуйте этот интерфейс.
Не знаю, как вы бы внедрить этот интерфейс в процессе дизайнерского EDMX, хотя :-(
Марк
Посмотрите this article. Это для LINQ к SQL, но может быть легко адаптирована к EF по линиям this article. Первый имеет дело с вашим сценарием, где все таблицы имеют требуемые столбцы аудита, а второй - с использованием единой таблицы аудита для всей БД и фактически сохраняет старые и новые значения для каждого изменения.
Я застрял между ними, потому что второй подход provi нет никаких средств для идентификации вновь добавленных записей, но первый не имеет истории изменений. Мне неудобно выполнять две стратегии аудита в одном приложении, и мне нужно значение CreateOn, поэтому мне придется использовать хотя бы первый подход.
BTW, если вы, как и я, находите XML-сериализацию неуклюжим способом хранения истории состояния объекта, вы можете посмотреть на это EF specific solution, который использует таблицу подробных данных AuditValues для хранения старых и новых значений измененных свойств, но это никто не проверяет вставки вообще.
Он выполняет ревизию вставок - но прочитайте Часть 1, чтобы понять, почему я делаю это в слегка обратном порядке (я понимаю, почему вы говорите, что этого не делает ... и он не вставляет «вставку» «запись аудита, но контрольный журнал все еще существует);
Simon
- 1. R: общие столбцы merge.xts
- 2. печатать объекты, общие в двух символьных объектах
- 3. Liquibase - общие столбцы?
- 4. Linq Исключить столбцы в дочерних объектах
- 5. Как получить столбцы первичного ключа в ADO.NET?
- 6. Проблема с созданием репозитория в объектах C# и ADO.NET
- 7. Excel Pivot Суб общие столбцы
- 8. Общие столбцы для нескольких таблиц в CakePHP
- 9. Nhibernate Общие столбцы в базовом классе
- 10. Общие SQL/MySQL превращает строки в столбцы
- 11. Общие столбцы между двумя таблицами в DB2
- 12. Общие значения в столбце между datatables в ado.net
- 13. ADO.NET Entity Framework и столбцы идентификации
- 14. Общие поля в объектах значения ORM объекта Hibernate
- 15. Как использовать общие значения во многих объектах в C++?
- 16. Общие объекты в общих объектах с многопроцессорной обработкой
- 17. Общие свойства данных в объектах данных ASP.NET MVC 2
- 18. C# Общие методы доступа к драйверам базы данных в ADO.NET
- 19. найти общие столбцы позиции между файлами
- 20. Общие столбцы Mysql для уменьшения повторения
- 21. R Код для устранения не общие столбцы
- 22. Об общих объектах
- 23. Общие сведения о объектах хранилища, все ли запустить новое соединение с БД?
- 24. ADO.NET Entity Framework не позволяет сортировать столбцы сортировки gridview?
- 25. Pandas: добавление двух фреймов данных в общие столбцы
- 26. Объединить dataframes в R, используя общие столбцы и различные строки
- 27. Как мы можем выбрать не общие столбцы в SQL Server
- 28. Как вы извлекаете записи и все дочерние записи в одной базе данных в объектах ADO.NET?
- 29. Пакетная замена с использованием DXL в элементах дизайна Lotus Notes или поменять столбцы на общие столбцы?
- 30. ADO.NET EF, что является целью использования List <> в объектах