LLBL Gen + MySQL 快速开发
MySQL 安装配置
安装MySQL, 使用查询分析器连接数据库服务器
创建数据库CTU, 并且创建新表Agent
给数据表Agent添加三笔数据,Jack,Tony,Charles
数据库设计的任务到此为止,记得给每个表添加主键。这里设置的主键是Name
LLBL Gen 设计实体模型
启动LLBL Gen 3.1, 创建新的项目,注意选择Target为LLBL Gen框架
在Category Explorer窗口中,右键,添加新连接
请在context菜单中选择Reverse-engineer Tables to Entity Definitions
这些表就会自动mapping到实体集合中
从图中可以看到,已经发现了Agent表
如果需要进一步的编辑属性与字段的映射关系,请用Edit 菜单,打开窗体
在这里,可以设置关系,设置映射的名称。
F7,可以开始生成代码
默认情况下,会生成2个项目文件
从名称中可以看出,一个是数据库无关的,另一个是做数据访问的。以此的原理是我们在生成数据库时,选择Adapter模式,而不是SelfServicing模式.
启动程序
在Visual Studio中打开生成的代码,并且添加测试项目(Console)
解决方案浏览器中现在有三个项目Main是我们用来测试数据访问的
再来看一下Main方法,只有简单的几行程序,也就是一个最简单的测试程序
它会生成SQL语句 SELECT Name , Postion , Description FROM agent
结论 Conclusion
1. ORM的好处是跨数据库平台,独立于数据库厂商。以MySQL为例子,是为证明,用SQL Server写的项目,可以很轻易的就转移到MySQL数据库平台。
近期会放出LLBL Gen + Oracle的快速开发手册。
2. 到目前为止,SQL Server有几个稳定好用的版本:SQL Server 2000,SQL Server 2005,SQL Server 2008,SQL Server 2008 R2, 还有SQL Express系列,如果要考虑数据的迁移,把数据从一个数据库搬到另一个数据库,请把这些数据库看成不同的产品系列。在这几个产品系列中迁移数据实在是痛苦,比如SQL Server 2005的数据库一旦被SQL Server 2008附加过,就再也无法在SQL Server 2005 Attach。2000和2005之间也会遇到这种尴尬。
考虑通用性,推荐用SQL Server 2005。
3. 正向和反向思维
学习NHibernate时,我们就在不停的研究把映射文件(数据库字段和.NET属性)存放在哪里。那时,专家的意见是放到xml文件中,放到C#文件中不容易维护。
后来接触到商业的NHibernate设计器,它却把映射文件写到C#文件。因为这些映射全部是可视化生成的,不需要编辑。同样道理,LLBL Gen把映射文件也放到C#代码,同时也是自动生成的。
我知道NHibernate的映射文件的设置的复杂性,就已经令众多的NHibernate爱好者望而却步,无比痛苦,谈不上快速灵活的开发。
扯远一点,谈到经济,听说国际上唱衰中国楼市,大肆宣言房价必降,还有诸多的专家也如此认为,可我还听说,国际热钱还在大肆进军中国楼市,中国的城市化进程不中断,房价不太可能会降。
我要表达的意思是,两种思维,一正一反,我们要习惯。
我常说EPN框架可以快速开发,你可能要意识到这句话不全对,简单的快速开发,暗藏了巨大的复杂性在里面。快速开发有复杂性藏在幕后,出了问题,google,baidu都不太可能帮忙到你;不快不慢的开发,简单容易理解,有bug或是出了问题在网上一找就找到了,可是又做不出很多应用,代码重复,经不起需求变化。
4. LLBL Gen 是商业的ORM工具,请不要向我索取license。
当没有人可以帮忙到你的时候,可以向google,baidu求助,Just take a try.