LLBL Gen Pro 5.0 公司專屬應用程式開發入門

來源:互聯網
上載者:User

標籤:

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 公司專屬應用程式開發入門

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.