我正在创建我自己的自定义 T4 模板,该模板与我的 MVC Web 应用程序中包含的 ADO.NET Entity Framework 模型(.edmx 文件)集成。
以供引用
请简单看一下以下两个网址。
我要实现的目标的简短描述
使用 T4 引擎基于 ADO.NET Entity Framework 模型的主键生成具有 Action 方法的 MVC Controller 类。
我现在拥有的
基于 Controller 名称 (例如“ProductController”) ,我想检索 [系统类型] 的信息《产品》 ADO.NET Entity Framework 模型中的类。
我希望能够检索 系统类型 信息与 MVC 查看 T4 文件的方式相同 (例如 Edit.tt)如下。
MvcTextTemplateHost mvcHost = (MvcTextTemplateHost) (Host);
Type type = mvcHost.ViewDataType;
最终目标
我想创建 Controller 方法代码生成以通过反射从 ADO.NET Entity Framework 类中读取主键信息等
和
为 EDIT、DETAILS、ADD 操作等生成基本的 CRUD 操作和方法签名...
我被困在哪里
但是,正如您从 中看到的那样ASP.NET MVC 开发人员快速入门指南 文章,我无法检索 [系统类型] 对于 Controller T4 模板因为 MvcTextTemplateHost 类仅公开 查看数据类型 用于创建 MVC View 的属性。
我尝试通过以下技术检索 [System.Type] 不起作用,因为 型号返回为 空 意味着它找不到类型。
Type modelType = Type.GetType(modelFullyQualifiedName, false, true);
我假设发生这种情况是因为 Entity Framework 模型包含在我的 MVC Web 项目 中。和 不包含在已编译的 .DLL 库程序集中。
一些可以帮助我找到解决方案的事情
如果有人能在这个主题上帮助我,我将不胜感激,因为这将允许我为 ADD、EDIT、DETAILS 等的 MVC Controller 操作方法生成 75% 的代码以及基本的 CRUD 操作代码。
最佳答案
关于asp.net-mvc - MVC T4 MvcTextTemplateHost 和自定义 "Controller"T4 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1128003/