一.簡介
ALinq Dynamic 為ALinq以及Linq to SQL提供了一個Entiy SQL的查詢介面,使得它們能夠應用Entity SQL 進行資料的查詢。它的原理是將Entiy SQL解釋為Linq表示式,再執行生成的Linq表示式。
1.關於 Entity SQL
Entity SQL是一種類似於SQL的語言,用於在Entity Framework中查詢概念模型。概念模型將資料表示為實體和關係,而Entity SQL允許您以那些用過SQL的人熟悉的格式查詢這些實體和關係。
以上這段話,摘自Entity Framwork的文件。也就是說,Entity SQL是由微軟的Entity Framework開小組設計,並且應用於Entity Framework。
2.ALinq Dynamic與Entity Framework的關係
ALinq Dynamic只是將Entity SQL移植過來,並遵循EntitySQL的語法,使得Entity SQL能夠應用於ALinq和Linq to SQL框架,而不僅是Entity Framwork。
3.Entity SQL的相容性
ALinq Dynamic相容性絕大部份的Entity SQL,但由於Entity SQL是為Entity Framework而設計的,個別針對Entity Framework 的特定功能並不支援,具體請參閱文件。
二.軟體的授權
ALinq Dynamic 使用的是MIT協議授權。眾所周知,這是一個非常寬鬆的授權。
三.功能特點
1. 相容 EF 中的 Entity SQL ,並實現了大部份功能。
2. 支援 ALinq 和 Linq to SQL 兩種框架。
3. 支援 .NET 3.5 以及更高版本的 .NET框架。
四.文件說明
本文件在介紹ALinq Dynamic功能時,主要採用與Entity Framework作對比來描述。表格說明:
1、表格標題欄中的"A"表示"ALinq Dynamic","E"表示"Entity Framework"。
2、"Y"表示支援,"N"表示不支援。
示例:
A |
E |
函式 |
說明 |
Y |
Y |
Avg (exression) |
|
N |
Y |
Var (expression) |
|
示例中的表示,ALinq Dynamic 支援 Avg 函式,但是不支援 Var 函式,而 Entity Framework 支援兩者。