代码生成器使用手册这是一款为程序员设计的代码生成器,更是一款软件项目智能开发平台,它可以自动生成ASP.NET页面及后台代码,采用了面向服务的架构(SOA)。一、系统的运行环境1.开发工具VisualStudio20102.数据库SqlServer2005/2008版本、oracle或者mysql3.MVC3.0版本()4.PowerDesigner15版本5.代码生成器的官方网站二、数据库设计指导规范说明:带有“推荐”字样的规范,为可选规范,具体设计请参照默认生成的Sys.PDM文件。1.表和字段命名规范1)表必须要有主键2)主键命名为Id,类型为nvarchar(36)2.字符最大长度不超过4000因为这是oracle数据库字符的最大长度;当字符长度大于等于200的时候,会以大文本的形式展示,如下:3.页面字段展示的顺序按照数据库字段的顺序设计数据库字段的顺序,将是页面字段的展示顺序,请参照2(上图)和3(下图)两图中的字段顺序4.关键字的使用在备注(Comment)中使用关键字1)查询查询关键字会根据字段类型,生成不同的查询样式。文本使用Like全匹配查询,数字使用区间范围大小查询,日期为区间范围查询,下拉框使用等于查询。2)精确查询针对文本类型使用精确的等于查询。3)状态以下拉框的形式展现4)级联自动生成多级联动。注意:要求写在备注起始的位置,以“父级字段名”+“联动”的形式。5)RadioButton页面展示如下:5.推荐外键采用表名+Id的形式如:SysPersontId6.不使用bit类型字段为bit的布尔类型,在SqlServer数据库中有使用,但oracle中没有,所以不建议使用,而改用关键字“状态”的形式代替。7.视图的使用视图的查询语句中,select后面不可以使用*。8.上传附件将包含附件的表与FileUploader附件表产生多对多的关联即可。如:三、初始化数据库运行“SQLServer2008”,新建数据库数据库名称为“Sys”,点击确定找到并在新建的数据库中运行“D:\Moban\数据库表初始化.sql”和“D:\Moban\数据初始化.sql”里面的脚本可查询人员表查询验证是否创建成功四、生成代码安装成功后,第一次运行代码生成器,会给出如下提示,注意,只第一次运行的时候会弹出提示框,并自动生成文件夹D:\Moban点击“确定”后,在文件夹“D:\Moban”中自动生成项目使用的数据库设计文件(Sys.PDM)和数据库初始化脚本双击打开设计数据库时候使用的powerDesigner文件“Sys.PDM”,按照项目需求,设计好数据库,并保存运行代码生成器点击“生成项目”,2分钟过后,会弹出“解决方案生成成功,并将自动关闭系统。”的提示点击“确定”后,自动打开生成的文件夹,并选中生成的项目解决方案文件“Solution.sln”五、修改数据库链接1.“DAL”项目中的配置文件“App.Config”,包含了生成“Model1.edmx”文件的数据库连接字符串“SysEntities”,修改为您刚才创建的数据库的连接字符串2.将“DAL”项目中的文件“App.Config”,的数据库连接节点“SysEntities”,复制到“App”项目下的“Web.Config”文件中,使其保持一致此时运行项目,您能看到:根据默认的数据库设计生成的一个完整的项目。六、重新设计数据库在Sys.pdm的基础上,根据业务需求,重新设计自己的数据库结构连接数据库,打开PowerDesigner,选择DataBase--Connect,出现如下对话框:点击Configure按钮就可以配置数据库的连接。我这里用的是Sql系统数据库,点击“AddDataSource”如上图,添加新的数据库连接。下一步就是选择数据源的驱动程序了:下一步:输入数据库的连接信息,名称和描述可以随便起一个方便记忆的名字。输入登录ID和密码连接数据库成功后,选择:Database—〉GenerateDatabase弹出如下对话框:点击确定,即可生成脚本,再点击Run就可以在数据库里添加相应的表了提示成功:“Statementsuccessfullyexecuted.”,则成功创建了数据库的表结构七、数据库发生更改时更新.edmx文件a)找到DAL项目中的“Model1.edmx”文件,双击打开。b)在“模型浏览器”中,右击“Model1.edmx”文件,然后选择“从数据库更新模型”。模型更新向导启动。如果未指定任何数据库连接,则会显示“选择数据库连接”对话框。否则,将会显示“选择数据库对象”对话框。c)单击“添加”选项卡。出现关于表、视图和存储过程的节点。如果已向数据库添加任何对象(或者这些对象未包含在先前的存储模型中),则可以展开相应的节点以查看可添加到概念模型的对象。注意:不要勾选“确定所生成对象名称的单复数形式”勾选“在模型中加入外键列”d)单击“刷新”选项卡。显示现有存储模型中的表、视图和存储过程的对应节点。对于这些数据库对象所做的任何更改将会反映在更新之后的存储模型中。将列添加到表或视图时将会更改概念模型。e)单击“删除”选项卡。出现关于表、视图和存储过程的节点。如果已从数据库中删除某个对象并且该对象曾经包含在先前的存储模型中,则可以展开相应的节点。这些节点中的对象将会从更新之后的模型中删除。f)单击“完成”以用数据库更改更新.edmx文件。此时,您需要重新执行步骤“四、生成代码”。八、登陆系统按F5编译并运行该解决方案,出现登录页面,输入用户名“Admin”和密码“123456”系统登陆成功后的界面九、问题答疑1.app这个项目未加载怎么办?请下载并安装MVC3.0版本()2.出现这个“请求的URL:/Views/Account/Index.aspx”错误?在“App”项目上点击右键,找到“Web”选项,将“特定页”清空,然后运行即可3.默认系统采用MSSQL2008,如果你采用的是SQL2005版本怎么办?请用文本的形式打开“D:\Solution\DAL\Model1.edmx”文件,找到“ProviderManifestToken=2008”,将其中的2008改为20054.模块管理中的图标字段如何设置?a)规则:模块管理中的图标设置b)具体应用:View的Create、Update页面中添加样式引用linkhref=%:Url.Content(~/Content/default.css)%rel=stylesheettype=text/css/,并将%:Html.EditorFor(model=model.Iconic)%或%:Html.TextBoxFor(model=model.Iconic)%用下面的代码替换spanid=imgIconicclass=icontu%=Model.Iconic% /spanaclass=anUnderLineonclick=icons('Iconic');style=cursor:pointer请选择/a%:Html.HiddenFor(model=model.Iconic)%View的Details页面中将%:Html.DisplayFor(model=model.Iconic)%替换为spanid=imgIconicclass=icontu%:Html.DisplayFor(model=model.Iconic)% /span%:Html.DisplayFor(model=model.Iconic)%5.更换列表的背景图片Solution\App\Res\flexigrid\css\flexigrid\imageswbg.gif图片是默认的蓝色图片,如需改变列表样式,请将两个文件名互换。6.EasyUI换肤Solution\App\Res\easyui\themes如需改变列表样式,请将两个文件名互换。7.多按钮inputtype=submitvalue=创建onclick=form.action='Create'/inputtype=submitvalue=保存onclick=form.action='Save'/其中'Create'和'Save'是该Controller的Action8.如何使用数据字典设计多级联动?可以参考人员表中的省市县。9.如何重新生成默认的数据库设计和初始化脚本,即Moban文件夹?删除安装目录“\ProgramFiles\Langben”中的配置文件SystemConfig.ini即可。10.MVC的在线帮助文档(v=VS.98).aspx11.如何给文本框的自动提示功能?c)View:首先请确认该页面包含了如下引用:scriptsrc=%:Url.Content(~/Res/jqueryui186custom/development-bundle/ui/minified/jquery.ui.position.min.js)%type=text/javascript/scriptscriptsrc=%:Url.Content(~/Res/jqueryui186custom/development-bundle/ui/minified/jquery.ui.core.min.js)%type=text/javascript/scriptscriptsrc=%:Url.Content(~/Res/jqueryui186custom/development-bundle/ui/minified/jquery.ui.widget.min.js)%type=text/javascript/scriptscriptsrc=%:Url.Content(~/Res/jqueryui186custom/development-bundle/ui/minified/jquery.ui.autocomplete.min.js)%type=text/javascript/scriptlinkhref=%:Url.Content(~/Res/jqueryui186custom/css/ui-lightness/jquery-ui-1.8.6.custom.css)%rel=stylesheettype=text/css/然后在该页面添加以下脚本:$(function(){$(#MingCheng).autocomplete({source:../CaiGouFangAn/SearchAutoComplete/MingCheng,minLength:1,select:function(event,ui){//选择后的处理方法}});}最后请注意:“MingCheng”为需要自动提示的文本框的id,有两处需要更改。后台的Controller对应的Action名称是SearchAutoComplete。d)Controller:publicActionResultSearchAutoComplete(stringid,stringterm){returnnewContentResult(){Content=m_BLL.SearchAutoComplete(id,term)};}e)IBLL:///summary///在查询中输入字符串,自动提示的功能////summary///paramname=id需要查询的数据库字段的名称/param///paramname=term输入的字符串/param///returns/returnsstringSearchAutoComplete(stringid,s