【问题标题】:T4 template for an MVC Controller with Entity Framework - member properties of the host (MvcTextTemplateHost)?具有实体框架的 MVC 控制器的 T4 模板 - 主机的成员属性 (MvcTextTemplateHost)?
【发布时间】:2011-09-28 13:18:27
【问题描述】:

是否有人完整引用了我可以在 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)而不是完整列表。模板中有相关属性、实体集名称、模型类型和上下文类型。

我正在尝试查找属性、它们的类型和描述的完整列表。任何帮助将不胜感激。

【问题讨论】:

  • 我所做的是获取主机的类型并使用反射输出其所有公共成员。
  • @FuleSnabel - 谢谢,我做到了。不幸的是,我提到的那些不是 Microsoft.VisualStudio.Web.Mvc.2.0.dll 程序集中的 MvcTextTemplateHost 类的一部分,所以问题仍然存在。

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


【解决方案1】:

当您在 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.                                             |
+---------------------+-------------------------+-----------------------------------------------------------------------------------------------+

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多