crm高速开发之QueryExpression
2016-01-06 12:31
295 查看
/* 创建者:菜刀居士的博客
* 创建日期:2014年07月06号
*/
namespace Net.CRM.OrganizationService
{
using System;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Query;
using System.Collections.Generic;
/// <summary>
/// QueryExpression
/// </summary>
public class QueryExpressionDemo
{
/// <summary>
/// 基本模式,构造查询--QueryExpression
/// </summary>
public void CreateQueryExpression()
{
QueryExpression query = new QueryExpression();
//查询的实体名称
query.EntityName = "new_accountproduct";
//查询实体的属性集合
query.ColumnSet = new ColumnSet("new_product","new_name","new_price");
//查询条件
query.Criteria.AddCondition(new ConditionExpression("statecode",ConditionOperator.Equal,0));
query.Criteria.AddCondition(new ConditionExpression("new_name", ConditionOperator.Like, "水果" + "%"));
List<Guid> list = new List<Guid>();
list.Add(new Guid("27BB1B31-09BB-E311-B590-D89D671782D3"));
list.Add(new Guid("E8F8D412-31BB-E311-B590-D89D671782D3"));
query.Criteria.AddCondition(new ConditionExpression("new_product",ConditionOperator.In,list.ToArray()));
query.Criteria.AddCondition(new ConditionExpression("new_name", ConditionOperator.NotNull));
query.Criteria.AddCondition(new ConditionExpression("new_price", ConditionOperator.Null));
}
/// <summary>
/// 高速模式,构造查询--QueryExpression
/// </summary>
public void CreateQuickQueryExpression()
{
QueryExpression query = "new_accountproduct".ToQuery("new_product", "new_name", "new_price");
query.AddEqual("statecode", 0);
query.AddLike("new_name", "水果" + "%");
List<Guid> list = new List<Guid>();
list.Add(new Guid("27BB1B31-09BB-E311-B590-D89D671782D3"));
list.Add(new Guid("E8F8D412-31BB-E311-B590-D89D671782D3"));
query.AddIn("new_product", list.ToArray());
query.AddNotNull("new_name");
query.AddNull("new_price");
}
}
public static class ExtensionFunction
{
public static QueryExpression ToQuery(this string entityName)
{
QueryExpression query = new QueryExpression();
query.EntityName = entityName;
return query;
}
public static QueryExpression ToQuery(this string entityName,params string[] Attrs)
{
QueryExpression query = new QueryExpression();
query.EntityName = entityName;
query.ColumnSet = new ColumnSet(Attrs);
return query;
}
public static void AddEqual<T>(this QueryExpression query,string name,T value)
{
query.Criteria.AddCondition(new ConditionExpression(name,ConditionOperator.Equal,value));
}
public static void AddLike(this QueryExpression query, string name,string value)
{
query.Criteria.AddCondition(new ConditionExpression(name,ConditionOperator.Like,value));
}
public static void AddIn<T>(this QueryExpression query, string name,T[] values)
{
query.Criteria.AddCondition(new ConditionExpression(name, ConditionOperator.In, values));
}
public static void AddNotNull(this QueryExpression query,params string[] attrs)
{
if (attrs != null && attrs.Length > 0)
{
foreach(string name in attrs)
{
query.Criteria.AddCondition(new ConditionExpression(name, ConditionOperator.NotNull));
}
}
}
public static void AddNull(this QueryExpression query, params string[] attrs)
{
if (attrs != null && attrs.Length > 0)
{
foreach (string name in attrs)
{
query.Criteria.AddCondition(new ConditionExpression(name, ConditionOperator.Null));
}
}
}
}
}
对照:
* 创建日期:2014年07月06号
*/
namespace Net.CRM.OrganizationService
{
using System;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Query;
using System.Collections.Generic;
/// <summary>
/// QueryExpression
/// </summary>
public class QueryExpressionDemo
{
/// <summary>
/// 基本模式,构造查询--QueryExpression
/// </summary>
public void CreateQueryExpression()
{
QueryExpression query = new QueryExpression();
//查询的实体名称
query.EntityName = "new_accountproduct";
//查询实体的属性集合
query.ColumnSet = new ColumnSet("new_product","new_name","new_price");
//查询条件
query.Criteria.AddCondition(new ConditionExpression("statecode",ConditionOperator.Equal,0));
query.Criteria.AddCondition(new ConditionExpression("new_name", ConditionOperator.Like, "水果" + "%"));
List<Guid> list = new List<Guid>();
list.Add(new Guid("27BB1B31-09BB-E311-B590-D89D671782D3"));
list.Add(new Guid("E8F8D412-31BB-E311-B590-D89D671782D3"));
query.Criteria.AddCondition(new ConditionExpression("new_product",ConditionOperator.In,list.ToArray()));
query.Criteria.AddCondition(new ConditionExpression("new_name", ConditionOperator.NotNull));
query.Criteria.AddCondition(new ConditionExpression("new_price", ConditionOperator.Null));
}
/// <summary>
/// 高速模式,构造查询--QueryExpression
/// </summary>
public void CreateQuickQueryExpression()
{
QueryExpression query = "new_accountproduct".ToQuery("new_product", "new_name", "new_price");
query.AddEqual("statecode", 0);
query.AddLike("new_name", "水果" + "%");
List<Guid> list = new List<Guid>();
list.Add(new Guid("27BB1B31-09BB-E311-B590-D89D671782D3"));
list.Add(new Guid("E8F8D412-31BB-E311-B590-D89D671782D3"));
query.AddIn("new_product", list.ToArray());
query.AddNotNull("new_name");
query.AddNull("new_price");
}
}
public static class ExtensionFunction
{
public static QueryExpression ToQuery(this string entityName)
{
QueryExpression query = new QueryExpression();
query.EntityName = entityName;
return query;
}
public static QueryExpression ToQuery(this string entityName,params string[] Attrs)
{
QueryExpression query = new QueryExpression();
query.EntityName = entityName;
query.ColumnSet = new ColumnSet(Attrs);
return query;
}
public static void AddEqual<T>(this QueryExpression query,string name,T value)
{
query.Criteria.AddCondition(new ConditionExpression(name,ConditionOperator.Equal,value));
}
public static void AddLike(this QueryExpression query, string name,string value)
{
query.Criteria.AddCondition(new ConditionExpression(name,ConditionOperator.Like,value));
}
public static void AddIn<T>(this QueryExpression query, string name,T[] values)
{
query.Criteria.AddCondition(new ConditionExpression(name, ConditionOperator.In, values));
}
public static void AddNotNull(this QueryExpression query,params string[] attrs)
{
if (attrs != null && attrs.Length > 0)
{
foreach(string name in attrs)
{
query.Criteria.AddCondition(new ConditionExpression(name, ConditionOperator.NotNull));
}
}
}
public static void AddNull(this QueryExpression query, params string[] attrs)
{
if (attrs != null && attrs.Length > 0)
{
foreach (string name in attrs)
{
query.Criteria.AddCondition(new ConditionExpression(name, ConditionOperator.Null));
}
}
}
}
}
对照:
相关文章推荐
- 浅析NGUITools.DestroyImmediate和NGUITools.Destroy的区别
- UITextView和UITextField退出键盘的方式
- 通过bluestacks从google play获取apk安装包
- GPUImage实现水印
- UIView的touch相关属性
- std::priority_queue
- BlockingQueue简介及使用
- UIWindow
- 安装Heartbeat-glue,绝对全,自己亲自操作的。
- GPUImage 组合滤镜
- This system is not registered with RHN. RHN support
- 根据Request获取客户端IP
- django中使用数据库源语进行操作返回rawquerset的处理
- @RequestParam MultipartFile doc1, 后台接收不到
- 创建UITableViewCell
- 获取文件路径报空指针
- OC结构体与其他类CGPoint和NSValue
- UE4 连接自定义服务器
- 导入android工程出错Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead.
- IOS UIScroView 实现循环滚动 实现固定相框切换图片