zoukankan      html  css  js  c++  java
  • Oql实体转自定义对象

    返回单体: 

    GroupEnvironmentDTO 是自定义的一个DTO, 

     GroupEnvironmentEntity.MapToPOCO(dto);  把上述查出来的对象转换为DTO

     返回实体集合:(如果把实体本身当做一个集合的话,前台接受出来的json数据,虽然

    数据正确,但是格式看起来不太爽)

    涉及的dll包

    using PWMIS.DataMap.Entity;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using PWMIS.Core.Extensions;
    using PWMIS.DataProvider.Data;
    using PWMIS.DataProvider.Adapter;
    using TransferRepository.Entitys;
    using TransferRepository;
    using System.Net;
    using Newtonsoft.Json;
    using System.IO;
    using AuditWorkRepository.Entitys.EntityDTO;
    using AuditWorkBLL;
    using System.Configuration;
    using System.Net.Http;
    using System.Net.Http.Headers;
    using A1000;
    

      

    注: list是上述oql查询出来的结果集,AuditProceDureDTO是自定义的一个类,

    item1 是集合中的实体对象, 

     item1.MapToPOCO(proDTO)

    listpro是一个自定的 List<AuditProcedureDTO> listpro =new List<AuditProcedureDTO>();

    循环的过程中添加完,最后返回一个集合就ok了, 这样的话就不会出现奇奇怪怪的json数据了、

    (导致出现奇怪的JSON数据,是因为实体中右getProperty(读),setProperty(写)俩个属性导致而成。

    所以说尽量不要偷懒,老老实实的定义个临时类)

    另外一种查询的方式:

      EntityContainer ec = new EntityContainer(t, db);
                dto = ec.MapToList<ScriptDTO>(() => new ScriptDTO()
                {
                    Name = item.ManuscriptName,
                    WhetherGroup = work.WhetherGroup
    
                }).FirstOrDefault();
    

      

    下方就是不转自定义类 返回的数据结果

     

    多条件查询:

     OQLCompareFunc cmpFun = cmp =>
                {
                    #region
                    OQLCompare cmpResult = new OQLCompare();
                    cmpResult = cmpResult & cmp.Comparer(poj.TerminationProject, "=", Constant.EnableProject)
                       .Comparer(poj.ID, "in", listguid.ToArray());
    
                    #endregion
                    #region 检索条件
                    if (!string.IsNullOrEmpty(AuditProjectQueryCriteria.ProjectName))
                    {
                        cmpResult = cmpResult & cmp.Comparer(poj.ProjectName, "like", "%" + AuditProjectQueryCriteria.ProjectName + "%"); //项目名称
                    }
                    if (AuditProjectQueryCriteria.RiskLevel > 0)
                    {
                        cmpResult = cmpResult & cmp.Comparer(poj.RiskLevel, "=", AuditProjectQueryCriteria.RiskLevel); //风险等级
                    }
                    if (AuditProjectQueryCriteria.IndustryType > 0)
                    {
                        cmpResult = cmpResult & cmp.Comparer(poj.IndustryType, "=", AuditProjectQueryCriteria.IndustryType); //行业类型
                    }
                    if (AuditProjectQueryCriteria.IsHeadquartersReview > 0)
                    {
                        cmpResult = cmpResult & cmp.Comparer(poj.IsHeadquartersReview, "=", AuditProjectQueryCriteria.IsHeadquartersReview); //是否复核总部
                    }
                    if (!string.IsNullOrEmpty(AuditProjectQueryCriteria.AuditStartDate))
                    {
                        cmpResult = cmpResult & cmp.Comparer(poj.AuditStartDate, ">", Convert.ToDateTime(AuditProjectQueryCriteria.AuditStartDate)); //开始时间
                    }
                    if (!string.IsNullOrEmpty(AuditProjectQueryCriteria.AuditEndDate))
                    {
                        cmpResult = cmpResult & cmp.Comparer(poj.AuditEndDate, "<", Convert.ToDateTime(AuditProjectQueryCriteria.AuditEndDate)); //结束
                    }
                    if (AuditProjectQueryCriteria.ManuscriptTemplateName != null)
                    {
                        cmpResult = cmpResult & cmp.Comparer(poj.ManuscriptTemplateName, "like", "%" + AuditProjectQueryCriteria.ManuscriptTemplateName + "%");//底稿名称
                    }
                    if (AuditProjectQueryCriteria.NoteAppendedTypeName != null)
                    {
                        cmpResult = cmpResult & cmp.Comparer(poj.NoteAppendedTypeName, "like", "%" + AuditProjectQueryCriteria.NoteAppendedTypeName + "%"); //附注名称
                    }
                    if (!string.IsNullOrEmpty(AuditProjectQueryCriteria.ProjectCreateDate))
                    {
                        cmpResult = cmpResult & cmp.Comparer(poj.ProjectCreateDate, "=", Convert.ToDateTime(AuditProjectQueryCriteria.ProjectCreateDate)); //附注名称
                    }
                    if (!string.IsNullOrEmpty(AuditProjectQueryCriteria.ManagerProjectName))
                    {
                        cmpResult = cmpResult & cmp.Comparer(poj.ManagerProjectName, "=", AuditProjectQueryCriteria.ManagerProjectName); //被审计单位名称
                    }
                    if (AuditProjectQueryCriteria.SubmitState > 0)
                    {
                        cmpResult = cmpResult & cmp.Comparer(poj.SubmitState, "=", AuditProjectQueryCriteria.SubmitState); //状态
                    }
                    #endregion
                    return cmpResult;
                };
    

      链接字符串:

     public AuditworkProjectBll(string dbname)
            {
                context = new AuditWorkDbContext(dbname);
                db = context.CurrentDataBase;
                pbll = new AuditPlanBLL(dbname);
                docbll = new DockingClassBll(dbname);
            }
            private AuditWorkDbContext context;// 数据上下文      
            private AdoHelper db;
            AuditPlanBLL pbll = null;
            AdoHelper db1 = MyDB.GetDBHelperByConnectionName("AuditManage");
            DockingClassBll docbll = null;
            AdoHelper asd = MyDB.GetDBHelperByConnectionName("Transfer");
    

      

  • 相关阅读:
    转载文章----.NET 框架浅析
    转载文章----IL反编译利器——Ildasm.exe和Reflector.exe:
    转载文章----初识Ildasm.exe——IL反编译的实用工具
    北航物理实验
    计算机组成原理往年试题以及答案(tzf!!!)
    Java 往年试卷参考答案!!!
    算法导论期末考试英文练习题带答案!!!
    算法导论( FFT & 自动机 & 最优二叉搜索树 !!!)
    Java部分总结图片版2(已加上原图链接!!!)
    Java部分总结图片版(已经加上原图链接下载!!!)
  • 原文地址:https://www.cnblogs.com/LoveAndPeace/p/6900487.html
Copyright © 2011-2022 走看看