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框架。
地址 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 BugsWHERE BgReportedDate>'2013/12/31'ORDER BY BgReportedDate DESC
整个程序开发过程书写没超过10行代码,开发效率与微软的Entity Framework不相上下,是EF之外的又一重量级数据存取解决方案。官网上号称世界上有100多个国家,超过5500多个客户正在使用这一套ORM开发框架。
LLBL Gen Pro 5.0 企业应用开发入门的更多相关文章
- LLBL Gen Pro 5.0
LLBL Gen Pro 5.0 企业应用开发入门 Solutions Design 公司于2016年5月发布了LLBL Gen Pro 5.0,这个新版本的发布出乎于我的意料.我的猜想是从4.2升级 ...
- 解析大型.NET ERP系统数据访问 对象关系映射框架LLBL Gen Pro
LLBL Gen Pro是一个为.NET开发人员设计的的对象关系映射(ORM)框架,与NHibernate,Entity Framework等框架一样,通过实体与数据表的映射,实现关系数据库持久化. ...
- 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 数据库 ...
- 接触LLBL Gen Pro 对象关系映射框架后 前途变的一片光明
时间回到2010年,那时候还是熟悉代码生成+基础框架这种模式,基本的开发思路是通过代码生成器生成实体,再生成接口与实现类,最后拖拉控件,写界面数据绑定代码.基本上就是动软代码生成器给出的模式,或是微软 ...
- LLBL Gen Pro 4.2 Lite 免费的对象关系映射开发框架与工具
LLBL Gen Pro是一款优秀的对象关系映射开发框架,自2003年发布以来,一直有广泛的客户群.LLBL Gen Pro有几个标志性的版本,2.5/2.6是一个很稳定的版本,公司的一些旧的项目仍然 ...
- .Net EntityFramwork6.0 EF框架开发入门
一.环境 开发环境:Sqlserver2008 R2.Visual Studio2012 二.准备工作 1.新建MVC空项目 2.通过NuGet获取 EntityFramework 包 操作截图 ...
- 企业应用开发模式 ERP项目中应用到的技术和工具
一.基础技术选型 C# .NET 3.5/4.0 这两个版本的.NET已经相当方便(Linq, Lambda,Parallel),语法简洁,配合WCF和WF两项技术,可以满足快速开发,维护方便的目标 ...
- 直接修改.NET程序集 LLBL Gen 2.x-4.x 许可授权方法研究
做数据库开发,如果要用ORM,LLBL Gen是一款优秀的框架和工具,目前最新版本是4.0.同时也推出了Lite免费版本,与Visual Studio的Express版本一样, 免费,但是它仅仅只支持 ...
- LLBL Gen + Entity Framework 程序设计入门
Entity Framework推出有好几年,除了微软的Visual Studio可以做实体框架开发外,第三方的开发工具如LLBL Gen, Devart Entity Developer也可以用来做 ...
随机推荐
- 【.net 深呼吸】序列化中的“引用保留”
假设 K 类中有两个属性/字段的类型相同,并且它们引用的是同一个对象实例,在序列化的默认处理中,会为每个引用单独生成数据. 看看下面两个类. [DataContract] public class 帅 ...
- 说说Makefile那些事儿
说说Makefile那些事儿 |扬说|透过现象看本质 工作至今,一直对Makefile半知半解.突然某天幡然醒悟,觉得此举极为不妥,只得洗心革面从头学来,以前许多不明觉厉之处顿时茅塞顿开,想想好记性不 ...
- .net core快速上手
2014年11月12日的Connect ();开发者活动上宣布将.NET堆栈基于MIT协议开源,并且提供开源保证,托管在Github上.当时的版本与最终目标相距甚远,然而有一点可以肯定的是,这是一个与 ...
- $.extend()的实现源码 --(源码学习1)
目标: $.extend({ add:function(a,b){ return a + b; } }) console.log($.a ...
- inline-block元素间距问题的几种解决方案
不知道大家有没有碰到过设置了display:inline-block;的几个相邻元素之间有几px间距的问题,这里提供几种简单实用的解决方法,希望能够帮到大家! 方法1. 将<li>标签 ...
- B样条基函数的定义和性质
定义:令U={u0,u1,…,um}是一个单调不减的实数序列,即ui≤ui+1,i=0,1,…,m-1.其中,ui称为节点,U称为节点矢量,用Ni,p(u)表示第i个p次(p+1阶)B样条基函数,其定 ...
- spring源码分析之freemarker整合
FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个Java类库,是一款程 ...
- Android如何制作漂亮的自适布局的键盘
最近做了个自定义键盘,但面对不同分辨率的机型其中数字键盘不能根据界面大小自已铺满,但又不能每种机型都做一套吧,所以要做成自适应,那这里主讲思路. 这里最上面的titlebar高度固定,下面输入的金额高 ...
- [BootStrap] 富编辑器,基于wysihtml5
在我的周围,已经有很多人在使用BootStrap,但对于任何一个带留言.评论.提问.文章编辑功的网站,编辑器永远是重中之重,显然,早期的编辑器完全没考虑过BootStrap的出现,或皮肤跟网站不匹配, ...
- JVM类加载
JVM的类加载机制就是:JVM把描述类的class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被JVM直接使用的Java类型 ClassLoader JVM中的ClassLoade ...