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 企业应用开发入门的更多相关文章

  1. LLBL Gen Pro 5.0

    LLBL Gen Pro 5.0 企业应用开发入门 Solutions Design 公司于2016年5月发布了LLBL Gen Pro 5.0,这个新版本的发布出乎于我的意料.我的猜想是从4.2升级 ...

  2. 解析大型.NET ERP系统数据访问 对象关系映射框架LLBL Gen Pro

    LLBL Gen Pro是一个为.NET开发人员设计的的对象关系映射(ORM)框架,与NHibernate,Entity Framework等框架一样,通过实体与数据表的映射,实现关系数据库持久化. ...

  3. Enterprise Solution 3.1 企业应用开发框架 .NET ERP/CRM/MIS 开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    行业:基于数据库的制造行业管理软件,包含ERP.MRP.CRM.MIS.MES等企业管理软件 数据库平台:SQL Server 2005或以上 系统架构:C/S 开发技术 序号 领域 技术 1 数据库 ...

  4. 接触LLBL Gen Pro 对象关系映射框架后 前途变的一片光明

    时间回到2010年,那时候还是熟悉代码生成+基础框架这种模式,基本的开发思路是通过代码生成器生成实体,再生成接口与实现类,最后拖拉控件,写界面数据绑定代码.基本上就是动软代码生成器给出的模式,或是微软 ...

  5. LLBL Gen Pro 4.2 Lite 免费的对象关系映射开发框架与工具

    LLBL Gen Pro是一款优秀的对象关系映射开发框架,自2003年发布以来,一直有广泛的客户群.LLBL Gen Pro有几个标志性的版本,2.5/2.6是一个很稳定的版本,公司的一些旧的项目仍然 ...

  6. .Net EntityFramwork6.0 EF框架开发入门

    一.环境 开发环境:Sqlserver2008 R2.Visual Studio2012   二.准备工作 1.新建MVC空项目 2.通过NuGet获取 EntityFramework 包  操作截图 ...

  7. 企业应用开发模式 ERP项目中应用到的技术和工具

    一.基础技术选型 C# .NET 3.5/4.0  这两个版本的.NET已经相当方便(Linq, Lambda,Parallel),语法简洁,配合WCF和WF两项技术,可以满足快速开发,维护方便的目标 ...

  8. 直接修改.NET程序集 LLBL Gen 2.x-4.x 许可授权方法研究

    做数据库开发,如果要用ORM,LLBL Gen是一款优秀的框架和工具,目前最新版本是4.0.同时也推出了Lite免费版本,与Visual Studio的Express版本一样, 免费,但是它仅仅只支持 ...

  9. LLBL Gen + Entity Framework 程序设计入门

    Entity Framework推出有好几年,除了微软的Visual Studio可以做实体框架开发外,第三方的开发工具如LLBL Gen, Devart Entity Developer也可以用来做 ...

随机推荐

  1. a标签点击跳转失效--IE6、7的奇葩bug

    一般运用a标签包含img去实现点击图片跳转的功能,这是前端经常要用到的东西. 今天遇到个神奇的bug:如果在img上再包裹一层div,而且div设置了width和height,则图片区域点击时,无任何 ...

  2. LINUX篇,设置MYSQL远程访问实用版

    每次设置root和远程访问都容易出现问题, 总结了个通用方法, 关键在于实用 step1: # mysql -u root mysql mysql> Grant all privileges o ...

  3. Solr_全文检索引擎系统

    Solr介绍: Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务.Solr可以独立运行在Jetty.Tomcat等这些Servlet容器中. Solr ...

  4. 旺财速啃H5框架之Bootstrap(四)

    上一篇<<旺财速啃H5框架之Bootstrap(三)>>已经把导航做了,接下来搭建内容框架.... 对于不规整的网页,要做成自适应就有点玩大了.... 例如下面这种版式的页面. ...

  5. 一看就懂的ReactJs入门教程-精华版

    现在最热门的前端框架有AngularJS.React.Bootstrap等.自从接触了ReactJS,ReactJs的虚拟DOM(Virtual DOM)和组件化的开发深深的吸引了我,下面来跟我一起领 ...

  6. Socket聊天程序——初始设计

    写在前面: 可能是临近期末了,各种课程设计接踵而来,最近在csdn上看到2个一样问答(问题A,问题B),那就是编写一个基于socket的聊天程序,正好最近刚用socket做了一些事,出于兴趣,自己抽了 ...

  7. Linux 添加新磁盘,在线扩充空间

    CentOS 7开发环境中的home 目录空间满了,需要增加空间 到虚拟机上执行"ls /sys/class/scsi_host",然后重新扫描SCSI总线来添加设备.如右图.然后 ...

  8. C#中5步完成word文档打印的方法

    在日常工作中,我们可能常常需要打印各种文件资料,比如word文档.对于编程员,应用程序中文档的打印是一项非常重要的功能,也一直是一个非常复杂的工作.特别是提到Web打印,这的确会很棘手.一般如果要想选 ...

  9. Javascript正则对象方法与字符串正则方法总结

    正则对象 var reg = new Regexp('abc','gi') var reg = /abc/ig 正则方法 test方法(测试某个字符串是否匹配) var str = 'abc123'; ...

  10. GOF23设计模式归类

    创建型模式:-单例模式.工厂模式.抽象工厂模式.建造者模式.原型模式结构型模式:-适配器模式.桥接模式.装饰模式.组合模式.外观模式.享元模式.代理模式行为型模式:-模板方法模式.命令模式.迭代器模式 ...