ELinq 0.3.0.822
See the version list below for details.
dotnet add package ELinq --version 0.3.0.822
NuGet\Install-Package ELinq -Version 0.3.0.822
<PackageReference Include="ELinq" Version="0.3.0.822" />
paket add ELinq --version 0.3.0.822
#r "nuget: ELinq, 0.3.0.822"
// Install ELinq as a Cake Addin #addin nuget:?package=ELinq&version=0.3.0.822 // Install ELinq as a Cake Tool #tool nuget:?package=ELinq&version=0.3.0.822
ELinq 是一个轻量简单易用的开源Linq ORM数据访问组件,支持Nullable类型和枚举类型,对Linq的谓词提供了完美的支持,旨在让绝大部份的主流数据库都使用 Linq 来进行程序开发,让开发人员访问数据库从SQL中解放出来,易学易用上手快,配置简单,并且提供了源代码下载,方便定制。支持多数据库,目前支持Access、SQLServer、SqlCE、SQLite、MySQL、ORACLE,未来还会支持更多的数据库。
设计理念
一: 约定胜于配置
连接字符串的配置完全遵循.Net 的连接字符串配置规范。
表名映射原则: 默认情况下表名和实体类名完全一致,如果不一致那么可以通过TableAttribute标签来制定,下个版本或许将会增加其它的扩展方式
列名映射原则:默认情况下实体的属性或字段和表中列名完全一致(不区分大小写),如果不一致那么可以通过ColumnAttribute标签来制定,下个版本或许将会增加其它的扩展方式
单一主键映射原则:默认情况下实体的ID属性或”实体名称"+ID的属性自动映射为表的主键,当字段或属性的类型是Int型或Long类型时,那么该字段在数据库中应是自动增一或基于序列的方式
多主键映射原则:如果表中有联合主键那么需要在是实体类中把对应的字段或属性添加IdAttribute标签即可
一对多映射原则:假设有两个实体Customer 和 Order两个实体,Customer 里面包含一个Order的列表属性,那么只需要在Order类里面包含一个CustomerID 的属性或字段即可自动完成一对多映射,当然也可以通过AssociationAttribute标签来指定映射的ThisKey 和ThatKey来手动建立关联(建议自动建立)。
多对一映射原则:假设有两个实体Customer 和 Order两个实体,Order里面包含一个Customer的属性引用,那么只需要在Order类里面包含一个CustomerID 的属性或字段即可自动完成一对多映射,当然也可以通过AssociationAttribute标签来指定映射的ThisKey 和ThatKey来手动建立关联(建议自动建立),其实一对多和多对一的映射完全一致都需要在多方的那里添加一个属性(一方的类名名称+“ID”)。
多对多映射原则:不支持,需要转换成两个一对多映射,和数据库完全保持一致.
二:基于关系的OR映射的原则
表和实体是一一对应的,不支持多对多,完全遵循数据库的设计规范,降低开发人员的学习成本(因为数据库不支持多对多,如果OR映射支持多对多那么开发人员将要学习多对多的映射规则,比如NHibernate,ManyToMany、Set、Bag、Reverse等配置规范以及在多对对数据保存的时候也需要很多学习成本)
三:无状态原则
DbContext中没有保存实体的状态,没有任何数据缓存,所有的数据都是和数据库实时的,只要调用DbSet的Insert、Update、Save方法将立即和数据库进行对应的操作。
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net35 is compatible. net40 is compatible. net403 was computed. net45 was computed. net451 was computed. net452 was computed. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
-
- NLite (>= 0.9.3.11)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on ELinq:
Package | Downloads |
---|---|
Nui
NLite Web 组件的特点 支持泛型Page 支持Ndf内核的WebApi 支持页面的DI、用户组件的DI注入 支持Web页面方法的自动路由 支持HttpListener,通过HttpListener自动扩展HttpModule 拥有灵活强大的性能监视接口:监视Web页面,监视Ndf服务分发器,监视Nlite WebApi |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.6.2.5 | 4,366 | 3/23/2013 |
0.6.2.4 | 1,340 | 3/17/2013 |
0.6.2.3 | 1,377 | 3/14/2013 |
0.6.2.2 | 1,322 | 3/12/2013 |
0.6.2.1 | 1,446 | 3/5/2013 |
0.6.2 | 1,374 | 2/24/2013 |
0.6.1.3 | 1,320 | 2/23/2013 |
0.6.1.2 | 1,348 | 2/20/2013 |
0.6.1.1 | 1,392 | 2/16/2013 |
0.6.1 | 1,420 | 2/15/2013 |
0.6.0.1 | 1,334 | 2/11/2013 |
0.6.0 | 1,354 | 2/2/2013 |
0.5.3 | 1,369 | 1/19/2013 |
0.5.2 | 1,353 | 1/11/2013 |
0.5.1.4 | 1,358 | 1/3/2013 |
0.5.1.3 | 1,394 | 12/30/2012 |
0.5.1.2 | 1,303 | 12/23/2012 |
0.5.0 | 1,344 | 12/22/2012 |
0.4.21 | 1,357 | 12/17/2012 |
0.4.3 | 1,345 | 12/22/2012 |
0.4.2 | 1,445 | 12/17/2012 |
0.4.1.1 | 1,452 | 12/15/2012 |
0.4.1 | 1,383 | 12/14/2012 |
0.4.0 | 1,824 | 12/8/2012 |
0.3.0.822 | 1,656 | 12/5/2012 |
更名NLite.Data 为ELinq