我正在创建自己的自定义T4模板,该模板集成了ADO.NET实体框架模型(.edmx文件),该模型包含在我的MVC应用程序中。
供参考
请简要查看以下两个URL。
对我正在努力实现的目标的简短描述
使用T4引擎根据ADO.NET实体框架模型的主键生成具有动作方法的类。
我现在所拥有的
基于控制器名(例如:( "ProductController"),我想从ADO.NET实体框架模型中检索"Product"类的System.Type信息。我希望能够检索System.Type信息,方式与MVC视图T4 T4(例如,Edit.tt)的方式相同,如下所示。
MvcTextTemplateHost mvcHost = (MvcTextTemplateHost) (Host);
Type type = mvcHost.ViewDataType;最终目标
我想通过反射从ADO.NET实体框架类创建控制器方法代码生成,以读取主键信息等
和
生成用于编辑、详细信息、添加操作等的基本CRUD操作和方法签名。
在我被困的地方
但是,正如您可以从MvcTextTemplateHost快速启动指南中看到的ASP.NET MVC开发人员文章中看到的那样,我无法检索System.Type for Controller T4模板,因为ViewDataType类只公开了用于创建MVC视图的ViewDataType属性。
我通过以下技术检索System.Type的尝试不起作用,因为modelType被作为null返回,这意味着它找不到类型。
Type modelType = Type.GetType(modelFullyQualifiedName, false, true);我假设发生这种情况是因为实体框架模型是作为MVC项目和的一部分而包含的,而不是作为编译的.DLL库程序集的一部分。
一些能帮我找到解决办法的东西
如果有人能在这个主题上帮助我,我将非常感激,因为这将允许我为MVC控制器操作方法生成75%的代码,用于添加、编辑、详细信息等。和基本的CRUD操作代码。
发布于 2009-07-14 21:51:17
https://stackoverflow.com/questions/1128003
复制相似问题