Подтвердить что ты не робот

Entity Framework 4 Code Generation Item Игнорирование пользовательского пространства имен инструментов

У меня есть проект, который заканчивается файлом edmx для первой сущности модели. Я установил пространство имен пользовательских инструментов, чтобы объекты попадали в пространство имён, в котором я их хочу. Это немного сработало.

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

Помимо того, что я могу редактировать файл tt, что еще отличается от элементов генерации кода? Кроме того, какие-либо мысли о том, как исправить элемент генерации кода по умолчанию, чтобы он уважал пространство имен пользовательских инструментов?

4b9b3361

Ответ 1

Если вы проверите файл шаблона TT, вы увидите свойство (в окне свойств), которое указывает собственное пространство имен инструмента. Задайте пространство имен здесь, и шаблон должен использовать это в генерации кода, обратите внимание, что это находится в файле TT, вам нужно сделать это для всех файлов TT, которые вы используете для генерации EDMX. Он не использует значение, указанное в файле EDMX.

Исправление может исправить это поведение, но не бойтесь погрузиться в TT. У меня есть сообщение с подробными изменениями, которые вы можете сделать.

http://slappyza.wordpress.com/2010/08/08/getting-the-entity-framework-to-generate-an-interface-for-mocking/

Я также заметил пару других проблем с версией VB. Не уверены, были ли они исправлены.

http://slappyza.wordpress.com/2010/08/03/bug-in-the-ado-net-entity-framework-poco-generator/

Ответ 2

Самым простым решением было бы отредактировать файл .tt.

Вам нужно найти

string namespaceName = code.VsNamespaceSuggestion();

Затем вы можете заменить его своим пользовательским пространством имен:

string namespaceName = "YourCustomNamespace";

Ответ 3

Измените пространство имен по умолчанию для проекта и перестройте проект.