Farseer.net轻量级ORM开源框架 V1.x 入门篇:视图实体类映射
导航
前言
在V1.0中,新增了视图的映射。在以往的版本中,视图是当成”表“来操作的。
但是我们的视图通常只是为了方便查询而建的。而表支持写操作。会显的很不入调(当然MSSQL的视图也是支持写的,但是这里的视图映射是为了只读视图而来的)
先看下我DEMO中的上下文与视图实体的关联:
public class View : DbContext<View> { [Set(Name = "View_Account")] public ViewSet<AccountVO> Account { get; set; } }
它的各个视图由ViewSet封装:针对数据库视图提供的一系列查询的操作。被ViewSet包含的就是视图字段了。
VO实体类
1、视图实体类:
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(只读查询操作))的。
所以,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" });