前天在自己开发一个小项目的时候用了最新的动软代码生成器2.41,
原本打算直接用其批量代码生成功能生成一个大概的抽象工厂模式三层架构样例放入已有项目,调试通过后再进行进一步开发。
没想到在把生成的代码分别拷贝到我搭建好的架构中并作相应调整配置后紧接着就是潮水般的错误,一浪接一浪的涌来。
通过一整天的调试,终于把所有问题搞清楚了,现在整理记录下来,以期新手朋友们少走弯路。
第一步:搭建架构并添加必要的引用
在WEB层添加对BLL层、Model层的引用
在BLL层添加对DAL(反射必须)、DALFactory、IDAL、Model层的引用
在DAL层添加对DBUtility、IDAL、Model层的引用
在DALFactory层添加对IDAL层、System.Web、System.configuration的引用
在IDAL层添加对Model层的引用
为DBUtility添加对System.configuration、System.Web、System.Data.OracleClient的引用
--------------------------------------------------------------------------------
第二步:拷贝自动生成文件到项目对应层中(不再赘述)
--------------------------------------------------------------------------------
第三步:拷贝没有自动生成但确是动软必须的文件或dll
把示例项目的Lib文件夹下的LTP.Common.dll文件拷贝到项目文件夹Lib内
在WEB层添加对LTP.Common.dll的引用
在BLL层添加对LTP.Common.dll的引用
将DataCache.cs拷贝到DALFactory层
把DBUtility文件夹内的CommandInfo.cs DbHelperSQL.cs DESEncrypt.cs OracleHelper.cs PubConstant.cs拷贝到项目DBUtility中
--------------------------------------------------------------------------------
第四步:修改配置文件并校正核对程序配置
修改Web.config,在appSettings节点下添加反射所需节点(DAL)和数据库连接(ConnectionString)所需节点。
核对DataAccess.cs里的private static readonly string AssemblyPath = ConfigurationManager.AppSettings["反射所需节点名DAL"];
核对PubConstant.cs里的string _connectionString = ConfigurationManager.AppSettings["连接节点名ConnectionString"];
核对DAL层的程序集名称确认和该层命名空间同名,且和Web.config中的反射所需节点(DAL)的值同名。(否则将引起不能反射的问题)
--------------------------------------------------------------------------------
第五步:修正Web层自动生成的各种页面文件的错误
删除web层下各designer.cs文件内自动生成的Master属性
在该层创建MasterPage.Master
完成以上步骤整个解决方案就调试通过了,但是要想web层页面正常显示,还需要做相应具体更改,
在此本人由于没有打算用他自动生成的web页面代码,仅做样例,所以仅更正了各实体show.aspx的代码。
其余页面还需读者自己决定是修改还是弃用
对Show.aspx的更正:
在web层的所有show.aspx文件内Page_Load方法里取消对ShowInfo的注释
并且给ShowInfo的赋值要注意转换为正确类型(一般为decimal)
最后如果需要显示ID,需要手动添加
--------------------------------------------------------------------------------
小结:
其实动软代码生成器是可以直接给你生成项目架构并将批量生成的代码放入其中的,
本文只是针对把批量生成的代码添加到已有项目中的情况。
即便如此,动软自动给你生成的架构还是会有诸多问题,
而这些问题的解决,都包括在了本文之中,相信看过之后不管哪出错你都会迎刃而解。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/juhengfei/archive/2010/02/25/5327471.aspx
原本打算直接用其批量代码生成功能生成一个大概的抽象工厂模式三层架构样例放入已有项目,调试通过后再进行进一步开发。
没想到在把生成的代码分别拷贝到我搭建好的架构中并作相应调整配置后紧接着就是潮水般的错误,一浪接一浪的涌来。
通过一整天的调试,终于把所有问题搞清楚了,现在整理记录下来,以期新手朋友们少走弯路。
第一步:搭建架构并添加必要的引用
在WEB层添加对BLL层、Model层的引用
在BLL层添加对DAL(反射必须)、DALFactory、IDAL、Model层的引用
在DAL层添加对DBUtility、IDAL、Model层的引用
在DALFactory层添加对IDAL层、System.Web、System.configuration的引用
在IDAL层添加对Model层的引用
为DBUtility添加对System.configuration、System.Web、System.Data.OracleClient的引用
--------------------------------------------------------------------------------
第二步:拷贝自动生成文件到项目对应层中(不再赘述)
--------------------------------------------------------------------------------
第三步:拷贝没有自动生成但确是动软必须的文件或dll
把示例项目的Lib文件夹下的LTP.Common.dll文件拷贝到项目文件夹Lib内
在WEB层添加对LTP.Common.dll的引用
在BLL层添加对LTP.Common.dll的引用
将DataCache.cs拷贝到DALFactory层
把DBUtility文件夹内的CommandInfo.cs DbHelperSQL.cs DESEncrypt.cs OracleHelper.cs PubConstant.cs拷贝到项目DBUtility中
--------------------------------------------------------------------------------
第四步:修改配置文件并校正核对程序配置
修改Web.config,在appSettings节点下添加反射所需节点(DAL)和数据库连接(ConnectionString)所需节点。
核对DataAccess.cs里的private static readonly string AssemblyPath = ConfigurationManager.AppSettings["反射所需节点名DAL"];
核对PubConstant.cs里的string _connectionString = ConfigurationManager.AppSettings["连接节点名ConnectionString"];
核对DAL层的程序集名称确认和该层命名空间同名,且和Web.config中的反射所需节点(DAL)的值同名。(否则将引起不能反射的问题)
--------------------------------------------------------------------------------
第五步:修正Web层自动生成的各种页面文件的错误
删除web层下各designer.cs文件内自动生成的Master属性
在该层创建MasterPage.Master
完成以上步骤整个解决方案就调试通过了,但是要想web层页面正常显示,还需要做相应具体更改,
在此本人由于没有打算用他自动生成的web页面代码,仅做样例,所以仅更正了各实体show.aspx的代码。
其余页面还需读者自己决定是修改还是弃用
对Show.aspx的更正:
在web层的所有show.aspx文件内Page_Load方法里取消对ShowInfo的注释
并且给ShowInfo的赋值要注意转换为正确类型(一般为decimal)
最后如果需要显示ID,需要手动添加
--------------------------------------------------------------------------------
小结:
其实动软代码生成器是可以直接给你生成项目架构并将批量生成的代码放入其中的,
本文只是针对把批量生成的代码添加到已有项目中的情况。
即便如此,动软自动给你生成的架构还是会有诸多问题,
而这些问题的解决,都包括在了本文之中,相信看过之后不管哪出错你都会迎刃而解。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/juhengfei/archive/2010/02/25/5327471.aspx