ORM提供了实现持久化层的另一种模式,它采用映射元数据来描述对象关系的映射,使得ORM中间件能在任何一个应用的业务逻辑层和数据库层之间充当桥梁。

如以下示例:

 1  public int GetSystemAccreditMessageInfo(AccreditParam param)
 2         {
 3             var where = new Where<User>();
 4             var countMesage = 0;//记录提醒次数
 5             HttpCookie cookie = HttpContext.Current.Request.Cookies["UserLogin"] as HttpCookie;
 6             if (cookie["Login_id"] != null)
 7             {
 8                 where.And(d => d.id == cookie["Login_id"].ToString());
 9             }
10             where.And(d => d.Del_state == 0);
11             var fs = DB.Context.From<User>()
12                 .Select(User._.All, Power._.All)
13                 .InnerJoin<Power>((a, b) => a.Role_id == b.id)
14                 .Where(where);
15             if (fs.First().Authority == "0")
16             {
17                 countMesage = 0;
18             }
19             else if (fs.First().Authority == "1")
20             {
21                 countMesage = DB.Context.From<Accredit>().Where(d => d.OAuditor_signature == null || d.OAuditor_signature == "").Count();
22             }
23             else if (fs.First().Authority == "2")
24             {
25                 countMesage = DB.Context.From<Accredit>().Where(d => d.TAuditor_signature == null || d.TAuditor_signature == "").Count();
26             }
27             else if (fs.First().Authority == "3")
28             {
29                 countMesage = DB.Context.From<Accredit>().Where(d => d.OAuditor_signature == null || d.OAuditor_signature == "" || d.TAuditor_signature == null || d.TAuditor_signature == "").Count();
30             }
31             return countMesage;
32         }
AccreditLogic.cs

相关文章: