Farseer.Net ORM开源说明及链接索引

考虑到Farseer.Net框架的更新比较多,由于博客的原因,对于刚接触到Farseer.Net官方博客可能不熟悉,故特开此贴作为永久置顶贴。在这里会把重要的链接、公告、消息、教程都会在这里发布说明。

项目简介
  1. Farseer.net是在Qyn.Studio V5.0 框架更名而来。(同一个产物及作者,开源后变更名字及版本号)
  2. 基于.net framework 4.0 开发
  3. Farseer.net的前身已经历过7次大改版的升级。
  4. Farseer.net使得开发者将重心放在业务逻辑上。忽视框架底层的开发。
  5. Farseer.net是一款容易快速上手,性能高效,注重从开发者调用角度减少代码,支持所有数据库的(ORM)。
  6. 目前已在:Sqlserver/Oledb/Sqlite/MySql/Oracle 使用过相关中小型项目。
  7. 目前支持整表缓存、部份缓存(根据命中率进行选择)、SQL执行监视。(很多细节,还是需要大家体会,或者观看后续发布的教程)
框架版本

托管到GitHub中。QQ群:116228666 (Farseer.net开源框架交流) 请注明:Farseer.Net。在群公告中有贴出Git地址

V1.0(概念版):需将GIT切换到Concept分支中。(处于研发阶段,有望在4月份完成全部开发。)

V0.2(稳定版):在默认分支Master中。

文件夹说明

\Farseer.Net\Framework\V1.0,如图所示:

技术分享

最新消息
入门教程
  • V1.0教程(目前处于开发中,完成后立即发布)
  • V0.2教程
什么是Farseer.Net

  Farseer.Net是一款ORM框架 + 常用工具 + 扩展集合。

  代替数据库访问的SQL语句,实体类与数据库表的字段建立关联,对实体类的字段属性赋值的逻辑操作。

  比方说,我们要对一张表进行插入数据,可能是:

1 insert into User (ID,Name)Values(1,"张三")

  如果用ORM,则可以:

1 new User { ID = 1, Name = "张三" }.Insert()

  ORM,采用反射的原理,将实体类进行反射。反射的实体结构都进行了缓存,然后根据实例化后赋值情况进行操作。

     与其它ORM的区别,这也是大家所最关心的问题,作者在写这个框架的前提就是要尽可能的让使用者方便。比如下面是增删改查的例子:
 1         // 查询列表
 2         Users.Data.Where(o => o.ID > 1).Select(o => new { o.ID, o.UserName }).ToList();
 3         // 查询单个实体
 4         Users.Data.ToInfo(1);
 5         // 修改
 6         new Users { ID = 1, UserName = "张三" }.Update();
 7         // 删除
 8         Users.Data.Delete();
 9         // 添加(表单提交过来的数据)
10         Users user = Users.Form();
11         user.Insert();

  尽可能的减少代码的编写量,并且完善常用的一些类型操作的方法。

  同时,为了降低门槛,以“使用者”角度去考虑设计框架的使用。很多时候,我们在使用新的类库时,会感觉无从下手,不知道应该先做什么,为了这一点。作者减去了很多“新的类名”做为调用的前奏。

  比方说,有些框架可能会是xxx<users> 做为执行数据的开端。而这个xxx是框架里自己写的。那么大家就得要去背这个xxx的单词。在每次写代码的时候,会感觉比较“吃记忆力”(作者记忆力不行啊)。

  因此 我们的开端就是:你自定义的实体类  比如上文提到的  Usres实体类。。 那它的一系列操作就是:Users.Data.xxxxx  Users是自己定义的,作为程序员,肯定容易记的。那么Data是继承下来的属性。(基本不会超过2个)。所以在编写代码的时候,会很方便。

版本号说明

主版本.子版本.修正版本

如:Ver 0.0.1

主版本:较大改动,或立项号。如底层设计模式、结构改动较大,改版等原因会更改该版本号。(此版本的改动,可能会引起你的目前正在使用的项目里,需要较大的代码变动)

子版本:加入/移除 新功能模块时会更改该版本号。(此版本的改动,可能会引起你的目前正在使用的项目里,需要小部份代码的变动)

修正版本:修正BUG、注释、代码优化、代码修改较少时更改该版本号。(此版本的改动,一般不需要改动太大的代码,或者不用改动,请放心升级)

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。