EF中Entity SQL用法

 public List<policecase> GetPoliceCaseList(PoliceCaseFilter view)
        {
            string sqlString = "SELECT value pc FROM Entities.policecase AS pc";
            var where = "";
            if (!string.IsNullOrWhiteSpace(view.CaseAddress))
            {
                //警情地址
                if (where != "")
                {
                    where += " and pc.[警情地址]  like '%" + view.CaseAddress + "%'";
                }
                else
                {
                    where += " where pc.[警情地址]  like '%" + view.CaseAddress + "%'";
                }             
            }
            if (!string.IsNullOrWhiteSpace(view.CaseType))
            {
                //警情类别
                if (where != "")
                {
                    where += " and pc.[警情类别] like '%" + view.CaseType + "%'";
                }
                else
                {
                    where += " where pc.[警情类别] like '%" + view.CaseType + "%'";
                }
            }
            if (!string.IsNullOrWhiteSpace(view.StartTime))
            {              
                //报警时间
                if (where != "")
                {
                    where += " and pc.[报警时间] >=datetime'" + Convert.ToDateTime(view.StartTime).ToString("yyyy-MM-dd HH:mm:ss") + "'";
                }
                else
                {
                    where += " where pc.[报警时间] >=datetime'" + Convert.ToDateTime(view.StartTime).ToString("yyyy-MM-dd HH:mm:ss") + "'";
                }
            }
            if (!string.IsNullOrWhiteSpace(view.EndTime))
            {
                //报警时间
                if (where != "")
                {
                    where += " and pc.[报警时间] <=datetime'" + Convert.ToDateTime(view.EndTime).ToString("yyyy-MM-dd HH:mm:ss") + "'";
                }
                else
                {
                    where += " where pc.[报警时间] <=datetime'" + Convert.ToDateTime(view.EndTime).ToString("yyyy-MM-dd HH:mm:ss") + "'";
                }
            }
            if (!string.IsNullOrWhiteSpace(view.PoliceStation))
            {
                //所属分局
                if (where != "")
                {
                    where += " and pc.[所属分局] like '%" + view.PoliceStation + "%'";
                }
                else
                {
                    where += " where pc.[所属分局] like '%" + view.PoliceStation + "%'";
                }
            }
            if (!string.IsNullOrWhiteSpace(view.RptType))
            {
                //报警类型
                if (where != "")
                {
                    where += " and pc.[报警类型] like '%" + view.RptType + "%'";
                }
                else
                {
                    where += " where pc.[报警类型] like '%" + view.RptType + "%'";
                }
            }

            sqlString += where;

            var objctx = (Repository as IObjectContextAdapter).ObjectContext;
            ObjectQuery<policecase> pc = objctx.CreateQuery<policecase>(sqlString);

            var data = pc.ToList();

            return data;
        }
    }

posted @ 2017-02-17 20:22  如果声音记得  阅读(200)  评论(0编辑  收藏  举报