考虑到Farseer.Net框架的更新比较多,由于博客的原因,对于刚接触到Farseer.Net官方博客可能不熟悉,故特开此贴作为永久置顶贴。在这里会把重要的链接、公告、消息、教程都会在这里发布说明。
项目简介
- Farseer.net是在Qyn.Studio V5.0 框架更名而来。(同一个产物及作者,开源后变更名字及版本号)
- 基于.net framework 4.0 开发
- Farseer.net的前身已经历过7次大改版的升级。
- Farseer.net使得开发者将重心放在业务逻辑上。忽视框架底层的开发。
- Farseer.net是一款容易快速上手,性能高效,注重从开发者调用角度减少代码,支持所有数据库的(ORM)。
- 目前已在:Sqlserver/Oledb/Sqlite/MySql/Oracle 使用过相关中小型项目。
- 目前支持整表缓存、部份缓存(根据命中率进行选择)、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、注释、代码优化、代码修改较少时更改该版本号。(此版本的改动,一般不需要改动太大的代码,或者不用改动,请放心升级)