本文整理汇总了C#中Query.AddFilterClause方法的典型用法代码示例。如果您正苦于以下问题:C# Query.AddFilterClause方法的具体用法?C# Query.AddFilterClause怎么用?C# Query.AddFilterClause使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Query
的用法示例。
在下文中一共展示了Query.AddFilterClause方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetQuestionsForTest
public IEnumerable<Question> GetQuestionsForTest(int testId, string searchString = null)
{
IEnumerable<Question> searchResults;
using (var repositoriesContainer = new LmPlatformRepositoriesContainer())
{
var query = new Query<Question>();
if (testId != 0)
{
query.AddFilterClause(question => question.TestId == testId);
}
if (searchString != null)
{
query.AddFilterClause(question => question.Title.Contains(searchString));
}
searchResults = repositoriesContainer.QuestionsRepository.GetAll(query).ToList();
}
return searchResults;
}
示例2: GetStudents
private IEnumerable<Student> GetStudents(int groupId, string searchString, LmPlatformRepositoriesContainer repositoriesContainer)
{
var studentsQuery = new Query<Student>();
studentsQuery.AddFilterClause(student => student.GroupId == groupId);
if (searchString != null)
{
studentsQuery.AddFilterClause(student => student.LastName.Contains(searchString)
|| student.FirstName.Contains(searchString));
}
IQueryable<Student> students = repositoriesContainer.StudentsRepository.GetAll(studentsQuery);
return students;
}
示例3: GetTestForLector
public IEnumerable<Test> GetTestForLector(int currentUserId)
{
IEnumerable<Test> searchResults;
using (var repositoriesContainer = new LmPlatformRepositoriesContainer())
{
var query = new Query<Test>();
query.AddFilterClause(test => test.Subject.SubjectLecturers.Any(sl => sl.LecturerId == currentUserId));
searchResults = repositoriesContainer.TestsRepository.GetAll(query).ToList();
}
return searchResults;
}
示例4: GetQuestionsFromAnotherTests
public IEnumerable<Question> GetQuestionsFromAnotherTests(int testId, int currentUserId)
{
IEnumerable<Question> searchResults;
using (var repositoriesContainer = new LmPlatformRepositoriesContainer())
{
var query = new Query<Question>();
if (testId == 0)
{
query.AddFilterClause(
question => question.Test.Subject.SubjectLecturers.Any(sl => sl.LecturerId == currentUserId));
}
else
{
query.AddFilterClause(
question => question.TestId == testId);
}
searchResults = repositoriesContainer.QuestionsRepository.GetAll(query).ToList();
}
return searchResults;
}
示例5: GetTestsForSubject
public IEnumerable<Test> GetTestsForSubject(int? subjectId)
{
IEnumerable<Test> searchResults;
using (var repositoriesContainer = new LmPlatformRepositoriesContainer())
{
var query = new Query<Test>().Include(test => test.TestUnlocks);
if (subjectId.HasValue)
{
query.AddFilterClause(test => test.SubjectId == subjectId.Value);
query.Include(t => t.Questions);
}
searchResults = repositoriesContainer.TestsRepository.GetAll(query).ToList();
}
return searchResults;
}