用动软代码生成器2.41将批量生成的代码部署到已有项目详细教程(基于抽象工厂模式的三层架构)

前天在自己开发一个小项目的时候用了最新的动软代码生成器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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮你写一个简单的太阳系模拟代码,并生成GIF文件。以下是代码: ```matlab % 太阳系模拟代码 clear all; close all; % 太阳系的行星数量 n = 8; % 太阳质量 M(1) = 1.989e30; % 行星质量 M(2) = 3.285e23; % 水星 M(3) = 4.867e24; % 金星 M(4) = 5.972e24; % 地球 M(5) = 6.39e23; % 火星 M(6) = 1.898e27; % 木星 M(7) = 5.68e26; % 土星 M(8) = 8.683e25; % 天王星 M(9) = 1.024e26; % 海王星 % 初始位置 x0 = [0, 0, 0; % 太阳 5.79e10, 0, 0; % 水星 1.08e11, 0, 0; % 金星 1.496e11, 0, 0; % 地球 2.28e11, 0, 0; % 火星 7.78e11, 0, 0; % 木星 1.43e12, 0, 0; % 土星 2.87e12, 0, 0; % 天王星 4.5e12, 0, 0]; % 海王星 % 初始速度 v0 = [0, 0, 0; 0, 4.79e4, 0; 0, 3.5e4, 0; 0, 2.98e4, 0; 0, 2.41e4, 0; 0, 1.31e4, 0; 0, 9.69e3, 0; 0, 6.81e3, 0; 0, 5.43e3, 0]; % 时间步长 dt = 3600*24; % 总时间 T = 3600*24*365*10; % 计算轨迹 x = zeros(n, 3, T/dt+1); v = zeros(n, 3, T/dt+1); x(:,:,1) = x0; v(:,:,1) = v0; for i = 1:T/dt for j = 1:n F = [0, 0, 0]; for k = 1:n if j ~= k r = x(k,:,i) - x(j,:,i); F = F + G*M(j)*M(k)/norm(r)^3*r; end end v(j,:,i+1) = v(j,:,i) + F/M(j)*dt; x(j,:,i+1) = x(j,:,i) + v(j,:,i+1)*dt; end end % 画图 figure; hold on; for i = 1:n plot3(x(i,1,:), x(i,2,:), x(i,3,:)); end grid on; xlabel('x'); ylabel('y'); zlabel('z'); title('太阳系模拟'); % 生成GIF文件 filename = '太阳系模拟.gif'; % 文件名 h = figure; for i = 1:T/dt+1 for j = 1:n plot3(x(j,1,i), x(j,2,i), x(j,3,i), 'o', 'MarkerSize', 10*M(j)/M(1), 'MarkerFaceColor', rand(1,3), 'MarkerEdgeColor', 'none'); hold on; end grid on; xlabel('x'); ylabel('y'); zlabel('z'); title(['太阳系模拟,第', num2str(i), '步']); axis equal; axis([-8e12, 8e12, -8e12, 8e12, -8e12, 8e12]); hold off; drawnow; frame = getframe(h); im = frame2im(frame); [imind,cm] = rgb2ind(im,256); if i == 1 imwrite(imind,cm,filename,'gif', 'Loopcount',inf, 'DelayTime', 0.1); else imwrite(imind,cm,filename,'gif', 'WriteMode','append', 'DelayTime', 0.1); end end ``` 这个代码使用了欧拉方法对行星的运动轨迹进行模拟,并生成了一个GIF文件,可以让你更好地观察太阳系的运动。你可以根据需要更改行星的质量、初始位置和速度等参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值