本文整理汇总了C#中QueryBuilder.And方法的典型用法代码示例。如果您正苦于以下问题:C# QueryBuilder.And方法的具体用法?C# QueryBuilder.And怎么用?C# QueryBuilder.And使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QueryBuilder
的用法示例。
在下文中一共展示了QueryBuilder.And方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Test_PostRepository_FindAllOrderByWithoutPaging
public void Test_PostRepository_FindAllOrderByWithoutPaging()
{
PostQueryRequest request = new PostQueryRequest();
request.TopicId = 1000;
request.CreationDateTimeParam.CreationDateTimeOperator = Operator.LessThanEqual;
request.CreationDateTimeParam.CreationDateTime = DateTimeUtils.ToDateTime("2015-1-22").Value;
using (IRepositoryContext repositoryContext = ServiceLocator.Instance.GetService<IRepositoryContext>())
{
IRepository<Post> postRepository = repositoryContext.GetRepository<Post>();
Expression<Func<Post, bool>> dateTimeExpression = (p) => true;
//DateTime dt = request.CreationDateTimeParam.CreationDateTime;
switch (request.CreationDateTimeParam.CreationDateTimeOperator)
{
case Operator.LessThanEqual:
dateTimeExpression = p => p.CreationDateTime <= request.CreationDateTimeParam.CreationDateTime;
break;
case Operator.GreaterThanEqual:
dateTimeExpression = p => p.CreationDateTime >= request.CreationDateTimeParam.CreationDateTime;
break;
case Operator.Equal:
dateTimeExpression = p => p.CreationDateTime.Equals(request.CreationDateTimeParam.CreationDateTime);
break;
}
QueryBuilder<Post> postQueryBuilder = new QueryBuilder<Post>();
//int topicId = request.TopicId;
postQueryBuilder.And(p => p.TopicId == request.TopicId).And(dateTimeExpression);
IEnumerable<Post> posts = postRepository.FindAll(postQueryBuilder.QueryPredicate);
IList<PostDataObject> postDataObjects = new List<PostDataObject>();
foreach (Post post in posts)
{
var postDataObject = new PostDataObject();
postDataObject.MapFrom(post);
postDataObjects.Add(postDataObject);
}
Assert.AreEqual(5, postDataObjects.Count);
}
}
示例2: GetPostsByQueryRequest
public IEnumerable<PostDataObject> GetPostsByQueryRequest(PostQueryRequest request)
{
using (IRepositoryContext repositoryContext = ServiceLocator.Instance.GetService<IRepositoryContext>())
{
IRepository<Post> postRepository = repositoryContext.GetRepository<Post>();
Expression<Func<Post, bool>> dateTimeExpression = (p) => true;
switch (request.CreationDateTimeParam.CreationDateTimeOperator)
{
case Operator.LessThanEqual:
dateTimeExpression = p => p.CreationDateTime <= request.CreationDateTimeParam.CreationDateTime;
break;
case Operator.GreaterThanEqual:
dateTimeExpression = p => p.CreationDateTime >= request.CreationDateTimeParam.CreationDateTime;
break;
case Operator.Equal:
default:
dateTimeExpression = p => p.CreationDateTime.Equals(request.CreationDateTimeParam.CreationDateTime);
break;
}
QueryBuilder<Post> postQueryBuilder = new QueryBuilder<Post>();
postQueryBuilder.And(p => p.TopicId == request.TopicId).And(dateTimeExpression);
IEnumerable<Post> posts = postRepository.FindAll(postQueryBuilder.QueryPredicate);
IList<PostDataObject> postDataObjects = new List<PostDataObject>();
foreach (Post post in posts)
{
var postDataObject = new PostDataObject();
postDataObject.MapFrom(post);
postDataObjects.Add(postDataObject);
}
return postDataObjects;
}
}