ALinq Dynamic 使用指南——前言

时间:2022-05-03 08:48:30

一.简介

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 支持两者。