具有实体框架的MVC控制器的T4模板 - 主机的成员属性(MvcTextTemplateHost)?

时间:2011-09-28 13:18:28

标签: asp.net-mvc visual-studio asp.net-mvc-3 t4 scaffolding

有没有人完全引用我可以在MVC 3附带的T4模板ControllerWithContext.tt中使用的Host对象的成员?

我已经尝试了我能想到的每一个谷歌搜索,但唯一相关的结果是这个页面: http://blogs.msdn.com/b/webdevtools/archive/2009/01/29/t4-templates-a-quick-start-guide-for-asp-net-mvc-developers.aspx

但它只显示4个属性(ItemName,NameSpace,ExtraActionMethods,ControllerRootName)而不是完整列表。在模板中有像RelatedProperties,EntitySetName,ModelType和ContextType这样的东西。

我正在尝试查找完整的属性列表,其类型和说明。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:8)

在Visual Studio 2010中使用“添加视图”或“添加控制器”对话框时,我将ASP.NET MVC 3 properties available to T4 templates的非官方列表放在一起。它不包括在NuGet包管理器控制台中使用MvcScaffolding时可用的属性。使用T4模板确定属性信息,以反映MvcTextTemplateHost上的公共属性。

添加控制器

+--------------------+---------------+----------------------------------------------------------------------------------------+
|   Property Name    |     Type      |                                      Description                                       |
+--------------------+---------------+----------------------------------------------------------------------------------------+
| AddActionMethods   | Boolean       | Adds action methods to the generated controller class.                                 |
| AreaName           | System.String | The name of the Area that the controller is created for.                               |
| ContextType        | System.Type   | The type of the data context.                                                          |
| ControllerName     | String        | The name of the controller class that will be generated.                               |
| ControllerRootName | String        | The name of the controller class excluding the Controller part at the end of the name. |
| EntitySetName      | String        | Name of the property on the data context class containing the set of entities.         |
| ModelType          | System.Type   | The type of the model class specified in the Add Controller dialog.                    |
| Namespace          | String        | Namespace that will be used for the generated controller class.                        |
| PrimaryKeys        | PrimaryKey[]  | Primary keys for the model. See table at end for PrimaryKey properties.                |
| RelatedProperties  | Dictionary    | Related properties on the model. See table at end for RelatedModel properties.         |
+--------------------+---------------+----------------------------------------------------------------------------------------+

添加视图

+-----------------------------+---------------+------------------------------------------------------------------------------------------+
|        Property Name        |     Type      |                                       Description                                        |
+-----------------------------+---------------+------------------------------------------------------------------------------------------+
| AreaName                    | System.String | The name of the Area that the view is being created for.                                 |
| ContentPlaceHolderIDs       | List<string>  | List of content place holder IDs in the master page.                                     |
| IsContentPage               | Boolean       | True if the generated view will be created with a master page or a Razor layout page.    |
| IsPartialView               | Boolean       | True if the generated view is a partial view (e.g. an ASP.NET user control).             |
| MasterPageFile              | String        | Master page file or Razor layout to be used with view (e.g. ~/Views/Shared/Site.Master). |
| Namespace                   | String        | Namespace that will be used for the generated view.                                      |
| PrimaryContentPlaceHolderID | String        | Primary content place holder ID to be used when creating a view using a master page.     |
| ReferenceScriptLibraries    | Boolean       | True if checked in the Add View dialog.                                                  |
| ViewDataType                | System.Type   | The view model's type.                                                                   |
| ViewDataTypeName            | String        | Fully qualified name for the view model's type.                                          |
| ViewName                    | String        | Name of the view.                                                                        |
+-----------------------------+---------------+------------------------------------------------------------------------------------------+

共同属性

+---------------------+-------------------------+-----------------------------------------------------------------------------------------------+
|    Property Name    |          Type           |                                          Description                                          |
+---------------------+-------------------------+-----------------------------------------------------------------------------------------------+
| AssemblyPath        | List<string>            | List of assemblies referenced by the project and the project's output assembly. Internal use. |
| Errors              | CompilerErrorCollection | Used to stored errors that occur whilst processing the T4 template. Internal use.             |
| FileEncoding        | System.Text.Encoding    | The encoding of the file that will be generated.                                              |
| FileExtension       | String                  | Not set.                                                                                      |
| FrameworkVersion    | System.Version          | The .NET framework version.                                                                   |
| OutputFileExtension | System.String           | The extension of the file that will be generated.                                             |
| TemplateFile        | System.String           | The full path to the T4 template file being used.                                             |
+---------------------+-------------------------+-----------------------------------------------------------------------------------------------+