ORM框架(ITDOS实战源码)

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

 1 public BaseResult AddAccreditInfo(AccreditParam param)
 2         {
 3             var model = new Accredit();
 4             model.id = Guid.NewGuid().ToString();
 5             model.Acceptance_number = param.Acceptance_number;
 6             model.Certificate_number = param.Certificate_number;
 7             model.Issuing_office = param.Issuing_office;
 8             model.Issue_date = param.Issue_date;
 9             model.Effective_date = param.Effective_date;
10             model.Authorization_projectname = param.Authorization_projectname;
11             model.Measuring_range = param.Measuring_range;
12             model.Accuracy = param.Accuracy;
13             model.Organization_name = param.Organization_name;
14             model.Address = param.Address;
15             model.Corporate_representative = param.Corporate_representative;
16             model.Leading_person = param.Leading_person;
17             model.Competent_department = param.Competent_department;
18             model.Authorized_area = param.Authorized_area;
19             model.Authorization_form = param.Authorization_form;
20             model.Approver = param.Approver;
21             model.Input_person = param.Input_person;
22             model.Input_unit = param.Input_unit;
23             model.Acceptance_date = param.Acceptance_date;
24             HttpCookie cookie = HttpContext.Current.Request.Cookies["UserLogin"] as HttpCookie;
25             if (cookie["OrgId"] != null)
26             {
27                 model.OrgId = cookie["OrgId"].ToString();
28             }
29             if (cookie["OrgId"]=="63001c38-afa4-4a06-567d-0f39b6b5ca9b")
30             {
31                 model.Processing_state = 0;
32             }
33             model.Remarks = param.Remarks;
34             model.Del_state = 0;
35             model.Time = DateTime.Now;
36             //model.Processing_state = param.Processing_state;
37             model.brand = param.brand;
38             var count = DB.Context.Insert<Accredit>(model);
39             return new BaseResult(true, model, "", count);
40         }

 1  public BaseResult UptAccreditInfo(AccreditParam param)
 2         {
 3             var result = GetUpdateModel(param);
 4             if (!result.IsSuccess)
 5                 return result;
 6
 7             var model = (Accredit)result.Data;
 8             model.Acceptance_number = param.Acceptance_number;
 9             model.Certificate_number = param.Certificate_number;
10             model.Issuing_office = param.Issuing_office;
11             model.Issue_date = param.Issue_date;
12             model.Effective_date = param.Effective_date;
13             model.Authorization_projectname = param.Authorization_projectname;
14             model.Measuring_range = param.Measuring_range;
15             model.Accuracy = param.Accuracy;
16             model.Organization_name = param.Organization_name;
17             model.Address = param.Address;
18             model.Corporate_representative = param.Corporate_representative;
19             model.Leading_person = param.Leading_person;
20             model.Competent_department = param.Competent_department;
21             model.Authorized_area = param.Authorized_area;
22             model.Authorization_form = param.Authorization_form;
23             model.Approver = param.Approver;
24             model.Input_person = param.Input_person;
25             model.Input_unit = param.Input_unit;
26             HttpCookie cookie = HttpContext.Current.Request.Cookies["UserLogin"] as HttpCookie;
27             if (cookie["OrgId"] != null)
28             {
29                 model.OrgId = cookie["OrgId"].ToString();
30             }
31             if (cookie["OrgId"] == "63001c38-afa4-4a06-567d-0f39b6b5ca9b")
32             {
33                 model.Processing_state = 0;
34             }
35             model.Acceptance_date = param.Acceptance_date;
36             model.Remarks = param.Remarks;
37             model.Del_state = 0;
38             //model.Processing_state = param.Processing_state??model.Processing_state;
39             model.Time = DateTime.Now;
40             model.brand = param.brand;
41             var count = DB.Context.Update(model, d => d.id == param.id);
42             return new BaseResult(true, model, "", count);
43         }

AccreditLogic.cs

时间: 2024-10-13 11:56:10

ORM框架(ITDOS实战源码)的相关文章

Spring Boot 揭秘与实战 源码分析 - 开箱即用,内藏玄机

文章目录 1. 开箱即用,内藏玄机 2. 总结 3. 源代码 Spring Boot提供了很多"开箱即用"的依赖模块,那么,Spring Boot 如何巧妙的做到开箱即用,自动配置的呢? 开箱即用,内藏玄机 Spring Boot提供了很多"开箱即用"的依赖模块,都是以spring-boot-starter-xx作为命名的.例如,之前提到的 spring-boot-starter-redis.spring-boot-starter-data-mongodb.spri

Spring Boot 揭秘与实战 源码分析 - 工作原理剖析

文章目录 1. EnableAutoConfiguration 帮助我们做了什么 2. 配置参数类 – FreeMarkerProperties 3. 自动配置类 – FreeMarkerAutoConfiguration4. 扩展阅读 3.1. 核心注解 3.2. 注入 Bean 结合<Spring Boot 揭秘与实战 源码分析 - 开箱即用,内藏玄机>一文,我们再来深入的理解 Spring Boot 的工作原理. 在<Spring Boot 揭秘与实战 源码分析 - 开箱即用,内藏

Python3爬虫实战:实战源码+博客讲解

Python Spider 贵有恒,何必三更起五更睡:最无益,只怕一日暴十寒. Python3爬虫实战:实战源码+博客讲解 个人网站 CSDN博客 CSDN爬虫专栏 学习交流群[328127489] 声明 代码.教程仅限于学习交流,请勿用于任何商业用途! 文章首发声明 文章在自己的个人网站首发,其他平台文章均属转发,如想获得最新更新进展,欢迎关注我的个人网站:http://cuijiahua.com/ 目录 爬虫小工具 文件下载小助手 爬虫实战 笔趣看小说下载 百度文库免费文章下载助手_rev1

SSM框架 SSM项目源码 SSM源码 java框架整合Springmvc

获取[下载地址]   QQ: 313596790   [免费支持更新]A 代码生成器(开发利器);全部是源码     增删改查的处理类,service层,mybatis的xml,SQL( mysql   和oracle)脚本,   jsp页面 都生成   就不用写搬砖的代码了,生成的放到项目里,可以直接运行B 阿里巴巴数据库连接池druid;  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都有明显的优势C 安全权限框架shiro ;  Shiro 是一个用

基于案例一节课贯通Spark Streaming流计算框架的运行源码

 在线动态计算分类最热门商品案例回顾与演示 基于案例贯通Spark Streaming的运行源码 使用Spark Streaming + Spark SQL来在线动态计算电商中不同类别中最热门的商品排名,例如手机这个类别下面最热门的三款手机. 是用mysql数据库作为元数据库,使用Hive作为存储引擎,使用Spark SQL作为查询引擎. 其中链接数据库代码如下: package com.dt.spark.com.dt.spark.streaming; import java.sql.Con

KopDB 框架学习2——源码分析

我的博客:http://mrfufufu.github.io/ 上次我们主要是对 KopDB 框架的使用进行了分析,它是非常简单有用的.这次主要是对它的源码进行分析,进一步的来了解它的真面目. 点击这里去往 "KopDB 框架学习1--使用" 因为 KopDB 采用的是对象关系映射(ORM)模式,即我们使用的编程语言是面向对象语言,而我们使用的数据库则是关系型数据库,那么将面向对象的语言和面向关系的数据库之间建立一种映射关系,这就是对象关系映射了. 使用 ORM 模式,主要是因为我们平

缓存框架OSCache部分源码分析

在并发量比较大的场景,如果采用直接访问数据库的方式,将会对数据库带来巨大的压力,严重的情况下可能会导致数据库不可用状态,并且时间的消耗也是不能容忍的.在这种情况下,一般采用缓存的方式.将经常访问的热点数据提前加载到内存中,这样能够大大降低数据库的压力. OSCache是一个开源的缓存框架,虽然现在已经停止维护了,但是对于OSCache的实现还是值得学习和借鉴的.下面通过OSCache的部分源码分析OSCache的设计思想. 缓存数据结构 通常缓存都是通过<K,V>这种数据结构存储,但缓存都是应

(版本定制)第5课:基于案例分析Spark Streaming流计算框架的运行源码

本期内容: 1.在线动态计算分类最热门商品案例回顾与演示 2.基于案例分析Spark Streaming的运行源码 第一部分案例: package com.dt.spark.sparkstreaming import com.robinspark.utils.ConnectionPoolimport org.apache.spark.SparkConfimport org.apache.spark.sql.Rowimport org.apache.spark.sql.hive.HiveConte

首选项框架PreferenceFragment部分源码分析

因为要改一些settings里面的bug以及之前在里面有做过勿扰模式,准备对勿扰模式做一个总结,那先分析一下settings的源码,里面的核心应该就是android3.0 上面的首选项框架PreferenceFragment.因为在3.0之前都是把这些东西放在PreferenceActivity的,但是3.0之后google建议把setting放在PreferenceFragment,但是PreferenceActivity也同时在用的,下面就此总结一下: PreferenceActivity的