2013-02-22 6 views
5

Я знаю, что могу добавить шаблон в папкеДобавление пользовательского шаблона t4 для шаблона DDL поколения DROPDOWNLIST

C: \ Program Files (x86) \ Microsoft Visual Studio 11,0 \ Common7 \ IDE \ Extensions \ Microsoft \ Entity Framework Tools \ DBGEN

, чтобы сделать его видимым в шаблоне DropDownList DDL поколения, но мне нужно распространять шаблон для членов моей команды, чтобы они могли добавить шаблон в ту же папку.

Я надеялся, что я мог бы достичь того же результата, добавив шаблон решения VS 2012 как-то и сделать его видимым в том же DropDownList

Вы знаете способ достижения этой цели? Я использую VS 2012 и для создания базы данных Я использую подход Model First

ответ

1

Я играл с этим сегодня вечером и нашел, что это возможно, но это своего рода хак. Вам нужно будет отредактировать файл edmx вручную и убедиться, что он контролируется версиями, потому что вам нужно отредактировать раздел конструктора файла edmx (автоматически сгенерированный). Прежде всего, нужно скопировать шаблон t4 в корень вашего проекта (возможно, он должен быть в той же папке, что и edmx, но не уверен). Затем добавьте шаблон t4 в свой проект. Теперь удалите запись пользовательского инструмента (в свойствах), чтобы она не пыталась автогенерировать шаблон t4. наконец, добавить свойство дизайнера ниже в нужном месте в файле EDMX (я включен контекст, чтобы найти правильное место):

<!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) --> 
    <edmx:Designer xmlns="http://schemas.microsoft.com/ado/2009/11/edmx"> 
     <edmx:Options> 
     <DesignerInfoPropertySet> 
      <DesignerProperty Name="DDLGenerationTemplate" Value="SSDLToSQLite3.tt" /> 
+0

'Value =" SSDLToSQLite3.tt "/>' является исходным корнем проекта. Так что положите его в корневой каталог или установите другой путь, например. 'Value =". \ Entities \ SSDLToSQLite3.tt "/>'. Btw, спасибо и +1 :-). –

0

Я в конечном итоге сделать пользовательский шаблон для создания Datetime2 полей. Хотя я не мог заставить шаблон отображаться в раскрывающемся списке в окне свойств, мне удалось добавить шаблон в ту же папку, что и мой .edmx, включить его в решение, а затем ввести имя файла шаблона непосредственно в поле свойств конструктора заменяет значение по умолчанию. Значение, как представляется, сохраняется после создания баз данных и объектов, мне не нужно было напрямую редактировать XML-файл edmx, и теперь мой пользовательский шаблон контролируется источником рядом с тем, где он используется.