在V1.0中,新增了视图的映射。在以往的版本中,视图是当成”表“来操做的。框架
可是咱们的视图一般只是为了方便查询而建的。而表支持写操做。会显的很不入调(固然MSSQL的视图也是支持写的,可是这里的视图映射是为了只读视图而来的)工具
先看下我DEMO中的上下文与视图实体的关联:spa
public class View : DbContext<View> { [Set(Name = "View_Account")] public ViewSet<AccountVO> Account { get; set; } }
它的各个视图由ViewSet封装:针对数据库视图提供的一系列查询的操做。被ViewSet包含的就是视图字段了。.net
一、视图实体类:code
1 public class AccountVO 2 { 3 /// <summary> 用户ID </summary> 4 public int? ID { get; set; } 5 /// <summary> 用户名 </summary> 6 public string Name { get; set; } 7 /// <summary> 密码 </summary> 8 public string Pwd { get; set; } 9 /// <summary> 登录IP </summary> 10 [Field(Name = "getdate()")] 11 public string GetDate { get; set; } 12 }
事实上,视图与表的实体是基本相同的。即视图有的功能,表也确定有。(在内部里,TableSet与ViewSet均继承:DbReadSet(只读查询操做))的。htm
因此,TableSet中的全部查询操做。ViewSet也有的。对象
特性上与表的特性也是共用的。除了针对插入、更新的特性属性,其它都是同样的。故在这里再也不一一叙述了。
QQ群:116228666 (Farseer.net开源框架交流) 请注明:Farseer.Net
Farseer.Net是一款ORM框架 + 经常使用工具 + 扩展集合。
Farseer 寓意:先知、预言家 一般在某些场合时,提供计谋、策略。也但愿该框架能给你们提供最大化的便捷。
ORM:其英文全称是:Object(对象) Relational(关系) Mapping(映射)
Farseer.Net的目标是:快速上手、快速开发、简单方便。
1 Table.Data.User.Where(o=>o.ID == 1).ToEntity(); 2 Table.Data.User.Where(o=>o.ID > 1).ToList(); 3 Table.Data.User.Where(o=>o.ID != 0).Delete(); 4 Table.Data.User.Where(o=>o.ID != 0).AddUp(o=>o.LoginCount, 1); 5 Table.Data.User.Where(o=>o.ID == 1).Update(new User{ UserName = "newName" }); 6 Table.Data.User.Insert(new User{ UserName = "newName" });