Вопрос

Есть ли способ взять на себя управление конструктором классов Entity Framework?Я хочу иметь возможность иметь свой собственный конструктор классов, чтобы я мог создавать некоторые свойства для вызова других методов при материализации или делать классы сущностей частичными.

Это было полезно?

Решение

На самом деле они уже в частичных классах. См. MSDN

Другие советы

System.Data.Entity.Design .EntityClassGenerator , это тип, используемый в VS для генерации слоя объекта из вашего файла .edmx, и этот тип используется EdmGen.exe для генерации слоя объекта из файла .csdl. Ниже я перечислил 3 способа воздействия на сгенерированный код. Третий вариант требует, чтобы вы вызывали EntityClassGenerator самостоятельно. Вы можете заставить ваш код автоматически запускаться в VS вроде как SingleFileGenerator, с использованием этого метода , представленного Sanjay.

<Ол>
  • Добавьте код к типам через частичные классы
  • Добавьте код в частичные методы , которые вызываются сгенерированными классами
  • Подключите события генерации кода , чтобы внедрить код непосредственно в свойства и типы по мере их создания. Смотрите Дэнни в сообщение в блоге для примера
  • Я добавлю, что вы можете не только выбирать свой собственный класс частичные классы к тем, которые генерируются Entity Framework, но вы также можете записать все частичные методы создается с помощью сгенерированного кода.

    Т.е.Будет много частичного кода метода, который будет вызван, но сам метод в сгенерированном коде на самом деле не реализован.Для этого вы можете написать частичный метод для перехвата событий при изменении свойств и тому подобное.Это не самый ужасный способ справиться с некоторыми бизнес-правилами.

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top