仓酷云

标题: IOS教程之使用CodeSmith为SQL Server CE天生项目代码仓酷云 [打印本页]

作者: 飘灵儿    时间: 2015-1-18 11:51
标题: IOS教程之使用CodeSmith为SQL Server CE天生项目代码仓酷云
语法弄明白@interface@property这些工具总要知道是干嘛的怎么用基础库择要:CodeSmith是良多.NET开辟职员至爱的开辟帮助工具,它可以使开辟职员从大批单调有趣的反复编码中摆脱,会合精神办理实践营业成绩和手艺成绩。本文将先容怎样将CodeSmith用于WindowsMobile项目,以SQLServerCompactEdition数据库作为代码天生的根据天生项目代码。

甚么是代码天生器?
代码发生器是发生式编程(GenerativeProgramming)在实践使用中的一种产品。它以体系建模为基本,经由过程笼统各类体系间的个性与特征,使用代码模板和组件重用手艺,主动发生满意客户需求的软件产物。从而下降本钱,削减软件推向市场的工夫,而且包管更好的产物质量。终极获得范围经济和局限经济的长处。2004年我还在年夜学念书的时分曾开辟过一个基于模板引擎的代码天生器——RapidTier,事先这个作品还取得了广东省高校杯软件计划年夜赛的二等奖。在.NET的天下里,今朝最着名的代码天生器当属CodeSmith和MyGeneration。这两款代码天生器都是基于模板引擎的,利用起来便利天真,并且模板资本十分丰厚。

CodeSmith简介
IOS教程之使用CodeSmith为SQL Server CE天生项目代码仓酷云
登录/注册后可看大图

<br>CodeSmith是一个基于模板的代码天生器,你能够使用它来天生任何文本言语的代码。CodeSmith天生的代码能够经由过程模板的属性来定制。CodeSmith模板的语法跟ASP.NET十分类似,你能够在模板中利用C#或VB.NET把持代码的天生。一般,开辟职员使用CodeSmith依据SQLServer或Oracle等年夜型数据库天生各类项目代码(如:存储历程、数据会见层、营业逻辑层、体现层等)。明天将向列位先容怎样使用CodeSmith为挪动数据库SQLServerCompactEdition天生WindowsMobile项目标代码。

设置SchemaProvider
CodeSmith经由过程SchemaProvider来撑持各类数据库。在CodeSmithProfessional4.1.2安装后,默许只撑持SQLServer、Oracle、Access、MySQL等数据库范例。假如必要撑持其他范例的数据库,能够到网上搜刮相干数据库的SchemaProvider完成,大概本人手动编写代码完成ISchemaProvider接口。
比来,我从网上找到了SQLServerCompactEdition(3.1)的SchemaProvider完成,经由代码调剂和调试,如今跟人人分享一下。能够从这里下载到这个SchemaProvider相干的DLL,下载后将其解压,并将SchemaExplorer.SqlCeSchemaProvider.dll和System.Data.SqlServerCe.dll文件复制到CodeSmith的SchemaProvider目次下(C:ProgramFilesCodeSmithv4.1SchemaProviders)。
IOS教程之使用CodeSmith为SQL Server CE天生项目代码仓酷云
登录/注册后可看大图

<br>

设置数据源
启动CodeSmith,点击右边停靠的SchemaExplorer窗口上方点击“ManageDataSources”工具栏按钮,翻开DataSourceManager窗口。
IOS教程之使用CodeSmith为SQL Server CE天生项目代码仓酷云
登录/注册后可看大图

<br>
DataSourceManager窗口翻开后,点击Add按钮增加新的数据源。在DataSource窗口中,数据源称号(Name)输出“Northwindsqlce”,供应程序范例(ProviderType)选择SqlCeSchemaProvider,毗连语句输出“datasource=c:Northwind.sdf”,假定你已将SQLServerCompactEdition自带的Northwind.sdf数据库复制到C盘根目次了。
IOS教程之使用CodeSmith为SQL Server CE天生项目代码仓酷云
登录/注册后可看大图

<br>

你能够经由过程点击Test按钮测试一下是不是一般毗连,然后点击OK保留数据源,回到DataSourceManager窗口,如今看到多了一个叫“Northwindsqlce”的数据源了。

IOS教程之使用CodeSmith为SQL Server CE天生项目代码仓酷云
登录/注册后可看大图

<br>

“Northwindsqlce”数据源已增加乐成,点击Close按钮封闭DataSourceManager窗口。回到SchemaExplorer窗口,睁开“Northwindsqlce”数据源,扫瞄各个表的字段和属性。
IOS教程之使用CodeSmith为SQL Server CE天生项目代码仓酷云
登录/注册后可看大图

<br>

天生代码
在CodeSmith右侧停靠的TemplateExplorer窗口翻开自带的模板“CodeSmith4.1SamplesActiveSnippetsCSharpTableProperties.cst”。这个模板能够从一个数据库的表的一切字段天生对应的实体类的一切属性(Property)界说代码。
IOS教程之使用CodeSmith为SQL Server CE天生项目代码仓酷云
登录/注册后可看大图

<br>
IOS教程之使用CodeSmith为SQL Server CE天生项目代码仓酷云
登录/注册后可看大图

<br>TableProperties.cst
<%--
Name:DatabaseTableProperties
Author:PaulWelter
Description:Createalistofpropertiesfromadatabasetable
--%>
<%@CodeTemplateLanguage="C#"TargetLanguage="C#"Debug="False"Description="Createalistofpropertiesfromdatabasetable."%>
<%@PropertyName="SourceTable"Type="SchemaExplorer.TableSchema"Category="Context"Description="Tablethattheobjectisbasedon."%>
<%@MapName="CSharpAlias"Src="System-CSharpAlias"Description="SystemtoC#TypeMap"%>
<%@AssemblyName="SchemaExplorer"%>
<%@ImportNamespace="SchemaExplorer"%>

<%foreach(ColumnSchemacolumninthis.SourceTable.Columns){%>
private<%=CSharpAlias[column.SystemType.FullName]%>_<%=StringUtil.ToCamelCase(column.Name)%>;

public<%=CSharpAlias[column.SystemType.FullName]%><%=StringUtil.ToPascalCase(column.Name)%>
{
get{return_<%=StringUtil.ToCamelCase(column.Name)%>;}
set{_<%=StringUtil.ToCamelCase(column.Name)%>=value;}
}

<%}%>模板被翻开后,在CodeSmith右侧停靠的Properties窗口选择SourceTable属性,点击中间的“...”按钮扫瞄并选择一个Northwind.sdf数据库的表。这里我们选择Categories表,并点击Select按钮断定。
IOS教程之使用CodeSmith为SQL Server CE天生项目代码仓酷云
登录/注册后可看大图

<br>
如今能够按F5天生代码了,天生的了局以下所示:
[attach]292335[/attach][attach]292336[/attach]天生的代码
privateint_categoryID;

publicintCategoryID
{
get{return_categoryID;}
set{_categoryID=value;}
}

privatestring_categoryName;

publicstringCategoryName
{
get{return_categoryName;}
set{_categoryName=value;}
}

privatestring_description;

publicstringDescription
{
get{return_description;}
set{_description=value;}
}

privateSystem.Byte[]_picture;

publicSystem.Byte[]Picture
{
get{return_picture;}
set{_picture=value;}
}你还能够选择其他的表或其他模板天生代码试一试,体验一下CodeSmith的壮大的地方。

总结
经由过程下面的先容和示例演示,信任人人都认同CodeSmith的确很好很壮大。固然,这里只是演示了一个很复杂的例子,你能够依据项目标实践必要本人编写模板,按本人的体例往天生项目代码。编写模板最快速的办法就是基于现有对照相似的模板举行修正。CodeSmith之以是可以用于SQLServerCompactEdition数据库的代码天生,除后面提到的它经由过程SchemaProvider撑持各类范例的数据库,另有一点很主要的就是SQLServerCompactEdition撑持桌面平台,假如是SQLServerMobile就没有举措做到这一点了。

相干下载:SqlCeSchemaProvider.rar

黎波
博客:http://upto.cnblogs.com/
日期:2008年3月29日
来自:http://www.ckuyun.com/upto/archive/2008/03/29/codesmith-for-sqlce.html

由于封闭文档写的相当好在遇到新框架的时候弄明白框架的功能去文档里搜搜框架的ProgrammingGuide很有用要弄明白框架类的继承结构写iOS的程序不一定都是用OBJC
作者: 莫相离    时间: 2015-1-21 16:21
看完这个你就可以有多种选择来踏入做应用的阶段
作者: 飘飘悠悠    时间: 2015-1-30 21:03
培训的时候很痛苦,每天要待12个小时,上午讲课,下午和晚自习解决作业,看文档,学习的时候感觉就是资料太少,而且看着资料也不明所以,非常痛苦,
作者: admin    时间: 2015-2-2 13:04
在百度搜索你想要了解的类名(苹果的cocoa和cocoatouch框架的类名很有特点很容易搜到,前缀都是NS or UI),看别人写的博客详解
作者: 深爱那片海    时间: 2015-2-2 14:18
培训时可以选择安卓,iOS,Java,因为实习的时候我选了安卓,当时实习时间只有三周,学的晕头转向,而java我也没学过,iOS的基础是C语言,这个大学里还是学过的,于是选择了iOS。
作者: 分手快乐    时间: 2015-2-4 13:16
看完这个你就可以有多种选择来踏入做应用的阶段
作者: 若相依    时间: 2015-2-6 20:33
这个办法就是在WindowsXP或Win7的电脑上,使用vmware虚拟机来搭建一个真实的Mac OS X环境。
作者: 透明    时间: 2015-2-7 01:51
iPhone文件系统:创建、重命名以及删除文件,NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。
作者: 若天明    时间: 2015-2-8 23:48
从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,
作者: 海妖    时间: 2015-2-9 03:32
其实在培训的过程中,学习到最多的就是查资料的方式,当时感觉老师好坑,什么都不告诉我们,让我们自己去查,但是现在觉得还是要自己解决问题,这样才能理解的更加深入。
作者: 兰色精灵    时间: 2015-3-1 16:30
以上可以同时进行,学习过程中尽量不要纠结细节和底层,要知道ios是封闭的、OC是高级语言,我们不可能过多地去了解它的原理,至少在新手阶段没有必要。用迭代的方式更新你的知识,而不是死抠一个知识点。
作者: 爱飞    时间: 2015-3-10 19:44
iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
作者: 小魔女    时间: 2015-3-10 21:24
因为我们老师也是自学的,给我们讲课说的最多的就是百度,谷歌,查文档。
作者: 第二个灵魂    时间: 2015-3-17 10:10
iPhone文件系统:创建、重命名以及删除文件,NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。
作者: 只想知道    时间: 2015-3-20 05:20
以上可以同时进行,学习过程中尽量不要纠结细节和底层,要知道ios是封闭的、OC是高级语言,我们不可能过多地去了解它的原理,至少在新手阶段没有必要。用迭代的方式更新你的知识,而不是死抠一个知识点。
作者: 谁可相欹    时间: 2015-3-21 18:29
down下code4app网站的每个分类的代码挨着看
作者: 再见西城    时间: 2015-3-25 05:41
这个办法就是在WindowsXP或Win7的电脑上,使用vmware虚拟机来搭建一个真实的Mac OS X环境。
作者: 简单生活    时间: 2015-3-27 09:09
iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
作者: 飘灵儿    时间: 2015-3-27 13:11
要学会通过各种方法将面前的事情变成自己感兴趣的,那专研起来就不会是无聊和折磨了。
作者: 小女巫    时间: 2015-3-27 23:09
这个办法就是在WindowsXP或Win7的电脑上,使用vmware虚拟机来搭建一个真实的Mac OS X环境。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2