LLBL Gen + MySQL 快速开发

LLBL Gen + MySQL 快速开发

MySQL 安装配置

安装MySQL, 使用查询分析器连接数据库服务器

clip_image001

创建数据库CTU, 并且创建新表Agent

clip_image003

给数据表Agent添加三笔数据,Jack,Tony,Charles

clip_image005

数据库设计的任务到此为止,记得给每个表添加主键。这里设置的主键是Name

 

LLBL Gen 设计实体模型

启动LLBL Gen 3.1, 创建新的项目,注意选择Target为LLBL Gen框架

clip_image007

在Category Explorer窗口中,右键,添加新连接

clip_image009

请在context菜单中选择Reverse-engineer Tables to Entity Definitions

clip_image010

这些表就会自动mapping到实体集合中

clip_image012

从图中可以看到,已经发现了Agent表

如果需要进一步的编辑属性与字段的映射关系,请用Edit 菜单,打开窗体

clip_image014

在这里,可以设置关系,设置映射的名称。

F7,可以开始生成代码

clip_image016

默认情况下,会生成2个项目文件

clip_image017

从名称中可以看出,一个是数据库无关的,另一个是做数据访问的。以此的原理是我们在生成数据库时,选择Adapter模式,而不是SelfServicing模式.

启动程序

在Visual Studio中打开生成的代码,并且添加测试项目(Console)

解决方案浏览器中现在有三个项目Main是我们用来测试数据访问的

clip_image018

再来看一下Main方法,只有简单的几行程序,也就是一个最简单的测试程序

clip_image020

它会生成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之间也会遇到这种尴尬。

clip_image022

考虑通用性,推荐用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.

原文地址:https://www.cnblogs.com/JamesLi2015/p/2086538.html