Могу ли я узнать, был ли CodeGeneration выключен в двоичном файле? - PullRequest
1 голос
/ 15 ноября 2010

Когда вы используете POCO вместо сгенерированных объектов Entity Framework, вам нужно выключить генерацию кода по умолчанию в EDM Designer, установив для свойства Code Generation Strategy концептуальной модели (или EDM) значение * 1002. *, а также установив для свойства Custom Tool файла EDMX (.edmx) пустую строку.

Если я получаю двоичный файл с POCO и с соблюдением вышеупомянутых требований, есть ли способ, которым я могу программно запросить двоичный файл, чтобы узнать, были ли установлены вышеупомянутые свойства или нет?

Другими словами, эта информация о свойствах дизайнера EDM внедрена где-то в двоичном файле?

PS: Я знаю, что могу запросить двоичный файл на GetKnownProxyTypes, чтобы увидеть, были ли созданы прокси для POCO. Я также могу запросить отдельные объекты, чтобы узнать, не являются ли они производными от EntityObject. Но разве меня интересуют свойства конструктора для инструмента генерации кода, который используется для генерации сущностей, также записанных в сборку EF?

Обновление

Я думаю, что несколько меняю вопрос, и у меня есть ответ. Ответ - нет. Из двоичного файла вы не можете узнать, была ли отключена генерация кода для EDM, но если у вас есть исходный код, вы можете прочитать файл .edmx, а в разделе DesignerInfoPropertySet есть значение, как показано ниже.

<DesignerInfoPropertySet>
        <DesignerProperty Name="CodeGenerationStrategy" Value="None" />
</DesignerInfoPropertySet>
...