码迷,mamicode.com
首页 > 其他好文 > 详细

LLBL Gen Pro 5.0

时间:2016-05-30 23:26:28      阅读:726      评论:0      收藏:0      [点我收藏+]

标签:

LLBL Gen Pro 5.0 企业应用开发入门

Solutions Design 公司于2016年5月发布了LLBL Gen Pro 5.0,这个新版本的发布出乎于我的意料。我的猜想是从4.2升级到4.5,再升级5.x版本,主版本号的变更会给原有客户带来成本上的压力。299欧元的售价对于中小创业公司或大公司并不算便宜,在官网上查了一下最新的报价,如下表所示:

 

Number of licenses Price per license Standard Price per license Plus
1 to 2 € 299.- € 398.-
3 to 5 € 269.- € 368.-
6 to 10 € 259.- € 358.-
11 to 20 € 249.- € 348.-
more than 20 € 239.- € 338.-

 

新版本的LLBL Gen Pro在界面存在相当多的变化,引入了类似Visual Studio(VS look-like)的界面风格-扁平化,日常的一些操作界面也有变化。

 

技术分享

 

1 创建新项目,选择LLBL Gen Pro Runtime Framework

 

技术分享

 

从上图中看出,LLBL Gen Pro支持Entity Framework开发和NHibernate的开发。从维基百科中查询到,目前.NET领域中有以下17种流行的ORM框架。

 

序号

项目

官方地址

1

 Base One Foundation Component Library  www.boic.com

2

 Castle ActiveRecord  http://www.castleproject.org/projects/activerecord/

3

 DatabaseObjects  http://www.hisystems.com.au/databaseobjects

4

 DataObjects.NET  http://dataobjects.net/

5

 Dapper  github.com/StackExchange/dapper-dot-net

6

 ECO  http://www.capableobjects.com

7

Entity Framework

msdn.microsoft.com/en-us/data/ef.aspx

8

 EntitySpaces  http://www.entityspaces.net

9

 iBATIS  http://ibatis.apache.org

10

 LINQ to SQL  msdn.microsoft.com/en-us/data/ef.aspx

11

 Neo  http://neo.sourceforge.net/

12

 NHibernate  nhibernate.info

13

 nHydrate  http://www.nhydrate.org/

14

 Persistor.NET  http://www.persistor.net/ (已经失效)

15

 Quick Objects  http://www.quickobjects.com/ (已经失效)

16

 SubSonic  http://subsonicproject.com/

17

 XPO  https://www.devexpress.com/

 

地址 https://en.wikipedia.org/wiki/List_of_object-relational_mapping_software

 

其中大部分ORM框架都停止更新或不再维护,非常可惜。 

 

2 选择关系数据库

 

在Catalog Explorer(数据库浏览器)中选择从数据库生成关系模型

 

技术分享

 

LLBL Gen Pro 支持Model-First或Database-First两种开发模型,也可以考虑新创建模型,再通过上图中Generate Database Schema Create Script菜单项生成数据库脚本,以实现模型驱动开发。

 

我们选择SQL Server 数据库驱动,设置连接信息,并点击下一步按钮。

 

技术分享

 

3 选择要映射的数据库表,视图,存储过程

 

技术分享

 

经过这一步之后,表还没有映射到实体中,我们需要在此窗体关闭后,在Database Explorer中以选择表的方式创建实体对象,这样就完成了表与实体的映射设计。

 

技术分享

 

到这里,我们就完成了数据库表与实体映射的设置工作。如下图所示,在Project Explorer(项目浏览器)中看到新增加的实体Bug,可通过右键选择实体编辑它的,比如设定Type Converter,字段的附加属性等操作。

 

技术分享

 

 

 

4 生成Visual Studio 项目文件和源代码文件

 

点击工具栏中的按钮Generate Source Code或按F7,弹出代码生成选项窗体:

 

技术分享

 

LLBL Gen Pro这里有一个很方便的功能改进,在这里我们可以定义一个或多个生成选项,并将它保存起来,下次生成项目文件时,只需要勾选相应的项目生成选项即可。

 

点击按钮Edit Selected Task Specifics,弹出生成窗体。点Advanced…按钮可选择项目生成模板。

 

技术分享

 

之后再点击确定按钮,返回生成选项窗体,现在变成了绿色的勾,表示当前生成任务有效。

 

技术分享

 

点击Perform Tasks…完成项目代码的生成。

 

5 启动Visual Studio 加载LLBL Gen Pro生成的两个项目,创建Windows Forms测试项目。

 

技术分享

 

为了读取数据库BugTracker中的表Bugs的数据,请参考以下步骤完成:

 

1) 打开数据源窗体中,选择创建数据源,选择Object类型,并选择第4步生成的BugEntity实体

 

2) 拖放一个BindingSource控件到窗体中,设定此控件的数据源为上一步的数据源BugEntity

 

3) 拖一个DataGridView控件到界面中,选择数据源为上一步的数据源控件

 

在窗体启动事件中增加以下代码以读取数据库中的Bugs表数据。

 

const string connectionString = "data source=(local);initial catalog=BugTracker;integrated security=SSPI;persist security info=False;packet size=4096";

 


 

using (DataAccessAdapter adapter = new DataAccessAdapter(connectionString))

 

{

 

     IRelationPredicateBucket bucket=new RelationPredicateBucket();

 

     bucket.PredicateExpression.Add(BugFields.BgReportedDate > new DateTime(2013, 12, 31));

 

     ISortExpression sortExpression=new SortExpression(BugFields.BgReportedDate|SortOperator.Descending);

 

     IPrefetchPath2 prefetchPath=new PrefetchPath2(EntityType.BugEntity);

 

     EntityCollection collection = new EntityCollection(new BugEntityFactory());

 

     adapter.FetchEntityCollection(collection, bucket, 0, sortExpression, prefetchPath,null);

 

 

 

    bugBindingSource.DataSource = collection;

 

    gridBugs.DataSource = bugBindingSource;

 

}

 

这段代码的目的是读取Bug报告日期迟于2013年12月31日的Bug,按照报告日期倒序排列。我将它翻译成SQL供参考

 

SELECT * FROM Bugs 

 

WHERE BgReportedDate>‘2013/12/31‘ 

 

ORDER BY BgReportedDate DESC 

 

整个程序开发过程书写没超过10行代码,开发效率与微软的Entity Framework不相上下,是EF之外的又一重量级数据存取解决方案。官网上号称世界上有100多个国家,超过5500多个客户正在使用这一套ORM开发框架。

LLBL Gen Pro 5.0

标签:

原文地址:http://www.cnblogs.com/Leo_wl/p/5544191.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!