相关疑难解决方法(0)

Linq to objects Predicate Builder

使用linq到对象(不是linq到sql)进行条件查询的最佳方法是什么.

目前我正在使用http://www.albahari.com/nutshell/predicatebuilder.aspx中的Predicate构建器 ,并将已编译的谓词传递给IEnumerable.Where,它似乎工作得很好.

我要解决的示例代码:

我有这个

 string keyword1 = "Test1";
 string keyword2 = "Test3";

        IEnumerable<TestObject> tests = new List<TestObject>()
                                     {
                                         new TestObject() {Name1 = "Test1", Name2 = "Test1"},
                                         new TestObject() {Name1 = "Test2", Name2 = "Test2"},
                                         new TestObject() {Name1 = "Test3", Name2 = "Test3"},

                                     };

        if (!String.IsNullOrEmpty(keyword1) && String.IsNullOrEmpty(keyword2))
            tests = tests.Where(e => e.Name1.Contains(keyword1));
        else if (!String.IsNullOrEmpty(keyword2) && !String.IsNullOrEmpty(keyword1))
            tests = tests.Where(e => e.Name2.Contains(keyword2) || e.Name1.Contains(keyword1));

        return tests.ToList();
Run Code Online (Sandbox Code Playgroud)

c# linq-to-objects

8
推荐指数
1
解决办法
2558
查看次数

linq lambda表达式和'&'运算符

我正在开发一个ASP.NET MVC(旧版本)应用程序,我有一个表单,根据主要代码和学生姓氏的字母顺序为学生分配顾问.

我正在尝试实现以下代码,但它向&操作员显示红色涂鸦:

错误:运算符'&'不能应用于' System.Linq.IQueryable<Appointments.Models.MajorAdviserStudentAssignmentByAlpha>'和'lambda表达式'和'lambda表达式' 类型的操作数

var majorAssignmentByAlpha = FindAllMajorAdviserStudentAssignmentByAlphas()
    .Where(
           a => a.MajorString == student.StudentMajor) &
           (a => ((String.Compare(student.StudentLastName, a.AlphaStart) >= 0) &
                 (String.Compare(student.StudentLastName, a.AlphaEnd) <= 0))
    .FirstOrDefault());

if (majorAssignmentByAlpha != null)
    return majorAssignmentByAlpha.Adviser;
Run Code Online (Sandbox Code Playgroud)

我很感激任何帮助,以了解这里有什么问题.提前致谢!

c# linq

2
推荐指数
1
解决办法
3万
查看次数

运算符"&&"无法应用于MVC

我想创建计数器方法,它计算每个位置停止的作业数.我尝试了它,如下所示,但我收到以下错误:

错误1运算符'&&'无法应用于'bool'和'JobTracker.Models.Job'类型的操作数D:\ C#Web Application\JobTracker-Dev2 FINAL\JobTracker\Controllers\JobController.cs 126 46 JobTracker

我知道这事做与booleanInt比较,但我不知道我怎么能在这是在当前状态下解决问题

public int Stopped()
{
    int Stopped = db.Jobs.Where(x => x.Status == "Stopped" && x => x.LocationID == 1).Count();
    return Stopped;
}
Run Code Online (Sandbox Code Playgroud)

还有一种简单的方法可以将计数保存在一个方法中.我有大约20个这些单独的方法,我很乐意将它们全部放在一个方法中,然后我可以初始化该方法并在需要时调用每个变量

 public void Stopped()
{

    int HBAStop = db.Jobs.Where(x => x.Status == "Stopped" && x.LocationID == 1).Count();
    int CRStop =  db.Jobs.Where(x => x.Status == "Stopped" && x.LocationID == 2).Count();
    int MAStop =  db.Jobs.Where(x => x.Status == "Stopped" && x.LocationID == 3).Count();
    int QCStop =  db.Jobs.Where(x => …
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net asp.net-mvc asp.net-mvc-4

2
推荐指数
1
解决办法
652
查看次数

标签 统计

c# ×3

linq ×2

asp.net ×1

asp.net-mvc ×1

asp.net-mvc-4 ×1

linq-to-objects ×1