Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# id==c)和&(x.tblproject.ProjectId==pid)).OrderByDescending(x=>x.ProjectId).ToList(); } else if(statusid!=“”&&ProjectID=“”&&StartDa_C#_.net_Asp.net Mvc_Search - Fatal编程技术网

C# id==c)和&(x.tblproject.ProjectId==pid)).OrderByDescending(x=>x.ProjectId).ToList(); } else if(statusid!=“”&&ProjectID=“”&&StartDa

C# id==c)和&(x.tblproject.ProjectId==pid)).OrderByDescending(x=>x.ProjectId).ToList(); } else if(statusid!=“”&&ProjectID=“”&&StartDa,c#,.net,asp.net-mvc,search,C#,.net,Asp.net Mvc,Search,id==c)和&(x.tblproject.ProjectId==pid)).OrderByDescending(x=>x.ProjectId).ToList(); } else if(statusid!=“”&&ProjectID=“”&&StartDate=“”&&EndDate=“”&&a=“”) { int sid=Convert.ToInt32(statusid); tbtask=entity.tbltasks.Include(x=>x.tblproject).Include(x=>x

id==c)和&(x.tblproject.ProjectId==pid)).OrderByDescending(x=>x.ProjectId).ToList(); } else if(statusid!=“”&&ProjectID=“”&&StartDate=“”&&EndDate=“”&&a=“”) { int sid=Convert.ToInt32(statusid); tbtask=entity.tbltasks.Include(x=>x.tblproject).Include(x=>x.tbUser).其中(x=>selectproject.Contains(x.ProjectId)和&(x.tblproject.company_id==c)和&(x.tblstatu.StatusId==sid)).OrderByDescending(x=>x.ProjectId).ToList(); } 如果(a==“”&&StartDate!==“”&&EndDate!==“”&&ProjectID!=“”) { int pid=转换为32(ProjectID); DateTime sdate=Convert.ToDateTime(StartDate).Date; DateTime-edate=Convert.ToDateTime(EndDate).Date; tbtask=entity.tbltasks.Include(x=>x.tblproject).Include(x=>x.tbUser).其中(x=>selectproject.Contains(x.ProjectId)&&&(x.tblproject.ProjectId==pid)&&(x.StartDate>=sdate&&x.EndDate x.ProjectId).ToList(); } else if(StartDate==“”&&EndDate==“”&&statusid!=“”&&ProjectID!=“”&&a!=“”) { int pid=转换为32(ProjectID); int sid=Convert.ToInt32(statusid); tbtask=entity.tbltasks.Include(x=>x.tblproject).Include(x=>x.tbUser).其中(x=>selectproject.Contains(x.projectd)和&(x.tblproject.company_id==c)&(x.tblproject.ProjectId==pid)和&(x.tblstatu.StatusId==sid)和&(x.TaskName.Contains(a)| | | x.tbUser.User.User_name.Contains(a)).OrderByDescending(x=>projectd).ToList(); } 否则如果(a==“”&&StartDate==“”&&EndDate==“”&&ProjectID!=“”&&statusid!=“”) { int pid=转换为32(ProjectID); int sid=Convert.ToInt32(statusid); tbtask=entity.tbltasks.Include(x=>x.tblproject).Include(x=>x.tbUser).Include(x=>x.tblstatu).其中(x=>selectproject.Contains(x.projectd)&&x.tblproject.company_id==c&&x.tblproject.ProjectId==pid&&x.tblstatu.StatusId==sid).OrderByDescending(x=>x.projectd).ToList(); } 如果(a!=“”&&StartDate=“”&&EndDate=“”&&ProjectID=“”&&statusid=“”)出现异常 { tbtask=entity.tbltasks.Include(x=>x.tblproject).Include(x=>x.tbUser).其中(x=>selectproject.Contains(x.projectd)&&&(x.tblproject.company_id==c)&&(x.TaskName.Contains(a)| | x.tbUser.User_name.Contains(a)).OrderByDescending(x=>x.projectd.ToList(); } 如果(a!=“”&&ProjectID!=“”&&StartDate=“”&&EndDate=“”&&statusid=“”)为 { int pid=转换为32(ProjectID); tbtask=entity.tbltasks.Include(x=>x.tblproject).Include(x=>x.tbUser).其中(x=>selectproject.Contains(x.projectd)&&&(x.tblproject.company_id==c)&&(x.tblproject.ProjectId==pid)&(x.TaskName.Contains(a)| | x.tbUser.User.User_name.Contains(a)).OrderByDescending(x=>x.projectd).ToList(); } 如果(a!=“”&&StartDate!=“”&&EndDate!=“”&&ProjectID=“”&&statusid=“”)为else,则为 { DateTime sdate=Convert.ToDateTime(StartDate).Date; DateTime-edate=Convert.ToDateTime(EndDate).Date; tbtask=entity.tbltasks.Include(x=>x.tblproject).Include(x=>x.tbUser).其中(x=>selectproject.Contains(x.projectd)&&(x.tblproject.company_id==c)&(x.TaskName.Contains(a)| | x.tbUser.User_name.Contains(a))&&(x.StartDate>=sdate&&x.EndDate x.projectd).ToList(); } 其他的 { tbtask=entity.tbltasks.Include(x=>x.tblproject).Include(x=>x.tbUser).其中(x=>selectproject.Contains(x.projectd)和&x.tblproject.company_id==c).OrderByDescending(x=>x.projectd).ToList(); } 返回任务; }
你知道,这是一种非常古老的方式!在我们的应用程序中,我们将有一个像Google Chrome或IE 9地址栏一样简单的快速搜索,您可以输入url或通过文本进行搜索。不再需要指定列名或条件,只需对有意义的列进行全文搜索,并将结果与其他可能的组合组合在一起,在经历了第一阶段的“失落感”之后,我们的用户喜欢更轻松流畅的用户体验:我不确定这种搜索是否能提供我们用户所需的特定性。他们需要能够明确指定是否需要包含、等于等,我希望避免强迫他们学习一些字符串语法来实现这一点。请随意将您的建议作为答案。如果您对属性建模,则作为3个不同的实体,我不理解为什么“动态linq”选项会强制您硬编码任何内容?您将根据从3个实体收集的信息构建预期的linq查询(作为字符串)。例如,您可以创建一个指向操作符实体的LinkOperation属性,以帮助您构建此字符串。Doe在我看来,属性的类型很重要,应该影响子句字段的验证和子句的构造。但是,你不能将这些类型分为大约4种情况,数字、文本、日期时间和其他所有类型吗?Lucene不是文档吗搜索/索引库?我的搜索不是对页面中的页面/内容的搜索,而是对实体框架模型的搜索。Lucene适合全文索引。但SQL Server也有全文索引服务。我还应该指出,全文搜索只是搜索的一种类型。确切地说。我不确定如何进行全文索引在这种情况下,当我不只是做“在我的数据库中查找包含此值的所有内容”时,会对我有所帮助一种搜索。有人能告诉我为什么这会得到这么多的支持票,尽管我不知道这会如何与我的搜索风格相适应,而且对于一个搜索屏幕来说似乎有太多的杀伤力吗?显然,我错过了一些东西…这个answ
public class Criteria 
{
   StringBuilder sb = new StringBuilder();
   bool first = true;

   public void And(string property, string dbOperator, string value) {
       if (first)
       {
           sb.Append(" ").Append(property).Append(" ");
           sb.Append(" ").Append(dbOperator).Append(" ");
           sb.Append(" ").Append(value).Append(" ");
           first = false;
       }
       else
       {
           sb.Append(" && ").Append(property).Append(" ");
           sb.Append(" ").Append(dbOperator).Append(" ");
           sb.Append(" ").Append(value).Append(" ");
       }
   }

   public void Or(string property, string dbOperator, string value)
   {
       if (first)
       {
           sb.Append(" ").Append(property).Append(" ");
           sb.Append(" ").Append(dbOperator).Append(" ");
           sb.Append(" ").Append(value).Append(" ");
           first = false;
       }
       else
       {
           sb.Append(" || ").Append(property).Append(" ");
           sb.Append(" ").Append(dbOperator).Append(" ");
           sb.Append(" ").Append(value).Append(" ");
       }
   }

   public string ToString() 
   {
       return sb.ToString();
   }

}
public static IQueryable<T> DynamicWhere<T>(this IQueryable<T> src, string propertyName, string value)
{
    var pe = Expression.Parameter(typeof(T), "t");
    var left = Expression.Property(pe, typeof(T).GetProperty(propertyName));
    var right = Expression.Constant(value);
    // Illustrated a equality condition but you can put a switch based on some parameter
    // to have different operators
    var condition = Expression.Equal(left, right);

    var predicate = Expression.Lambda<Func<T, bool>>(condition, pe);
    return src.Where(predicate);
}
DECLARE @SEARCHTYPE VARCHAR(20)
DECLARE @SEARCHTERM VARCHAR(100)

SELECT
    [FIELDS]
FROM
    [TABLE]
WHERE
    (@SEARCHTYPE = 'BEGINSWITH' AND [FIELD] LIKE @SEARCHTERM + '%') OR
    (@SEARCHTYPE = 'ENDSWITH' AND [FIELD] LIKE '%' + @SEARCHTERM) OR
    (@SEARCHTYPE = 'EQUALS' AND [FIELD] = @SEARCHTERM)
public class ComboPredicate
{
    public Func<string, string, bool> Func {get; set;}
    public string Name {get; set; }
}
comboProperty.Datasource = myEntityObject.GetType().GetProperties()
comboOperation.Datasource = new List<Predicate>
    {
        {
            Name = "Contains",
            Predicate = (s1, s2) => s1 != null && s1.Contains(s2),
        },
        {
            Name = "Equals",
            Predicate = (s1, s2) => string.Compare(s1, s2) == 0,
        },
        //...
    }
var propertyInfo = (PropertyInfo)comboProperty.SelectedValue;
var predicate = ((ComboPredicate)comboOperation.SelectedValue).Predicate;
var filteredObjects = objects.Where(o => predicate(propertyInfo.GetValue(o, null).ToString(), textBoxValue.Text));
        List<tbltask> tbtask = new List<tbltask>();


        var selectproject = entity.tbluserprojects.Where(x => x.user_id == userid).Select(x => x.Projectid);

        if (statusid != "" && ProjectID != "" && a != "" && StartDate != "" && EndDate != "")
        {
            int pid = Convert.ToInt32(ProjectID);
            int sid = Convert.ToInt32(statusid);
            DateTime sdate = Convert.ToDateTime(StartDate).Date;
            DateTime edate = Convert.ToDateTime(EndDate).Date;
            tbtask = entity.tbltasks.Include(x => x.tblproject).Include(x => x.tbUser).Where(x => selectproject.Contains(x.ProjectId) && (x.tblproject.company_id == c) && (x.tblproject.ProjectId == pid) && (x.tblstatu.StatusId == sid) && (x.TaskName.Contains(a) || x.tbUser.User_name.Contains(a)) && (x.StartDate >= sdate && x.EndDate <= edate)).OrderByDescending(x => x.ProjectId).ToList();
        }
        else if (statusid == "" && ProjectID != "" && a != "" && StartDate != "" && EndDate != "")
        {
            int pid = Convert.ToInt32(ProjectID);
            DateTime sdate = Convert.ToDateTime(StartDate).Date;
            DateTime edate = Convert.ToDateTime(EndDate).Date;
            tbtask = entity.tbltasks.Include(x => x.tblproject).Include(x => x.tbUser).Where(x => selectproject.Contains(x.ProjectId) && (x.tblproject.company_id == c) && (x.tblproject.ProjectId == pid) && (x.TaskName.Contains(a) || x.tbUser.User_name.Contains(a)) && (x.StartDate >= sdate && x.EndDate <= edate)).OrderByDescending(x => x.ProjectId).ToList();
        }
        else if (ProjectID == "" && statusid != "" && a != "" && StartDate != "" && EndDate != "")
        {
            int sid = Convert.ToInt32(statusid);
            DateTime sdate = Convert.ToDateTime(StartDate).Date;
            DateTime edate = Convert.ToDateTime(EndDate).Date;
            tbtask = entity.tbltasks.Include(x => x.tblproject).Include(x => x.tbUser).Where(x => selectproject.Contains(x.ProjectId) && (x.tblproject.company_id == c) && (x.tblstatu.StatusId == sid) && (x.TaskName.Contains(a) || x.tbUser.User_name.Contains(a)) && (x.StartDate >= sdate && x.EndDate <= edate)).OrderByDescending(x => x.ProjectId).ToList();
        }
        else if(ProjectID!="" && StartDate == "" && EndDate == "" && statusid == ""  && a == "")
        {
            int pid = Convert.ToInt32(ProjectID);
            tbtask = entity.tbltasks.Include(x => x.tblproject).Include(x => x.tbUser).Where(x => selectproject.Contains(x.ProjectId) && (x.tblproject.company_id == c) && (x.tblproject.ProjectId == pid)).OrderByDescending(x => x.ProjectId).ToList();

        }
        else if(statusid!="" && ProjectID=="" && StartDate == "" && EndDate == ""  && a == "")
        {
            int sid = Convert.ToInt32(statusid);
            tbtask = entity.tbltasks.Include(x => x.tblproject).Include(x => x.tbUser).Where(x => selectproject.Contains(x.ProjectId) && (x.tblproject.company_id == c) && (x.tblstatu.StatusId == sid) ).OrderByDescending(x => x.ProjectId).ToList();
        }
        else if (a == "" && StartDate != "" && EndDate != "" && ProjectID != "")
        {
            int pid = Convert.ToInt32(ProjectID);
            DateTime sdate = Convert.ToDateTime(StartDate).Date;
            DateTime edate = Convert.ToDateTime(EndDate).Date;
            tbtask = entity.tbltasks.Include(x => x.tblproject).Include(x => x.tbUser).Where(x => selectproject.Contains(x.ProjectId) && (x.tblproject.ProjectId == pid) && (x.StartDate >= sdate && x.EndDate <= edate)).OrderByDescending(x => x.ProjectId).ToList();

        }
        else if (StartDate == "" && EndDate == "" && statusid != "" && ProjectID != "" && a != "")
        {
            int pid = Convert.ToInt32(ProjectID);
            int sid = Convert.ToInt32(statusid);
            tbtask = entity.tbltasks.Include(x => x.tblproject).Include(x => x.tbUser).Where(x => selectproject.Contains(x.ProjectId) && (x.tblproject.company_id == c) && (x.tblproject.ProjectId == pid) && (x.tblstatu.StatusId == sid) && (x.TaskName.Contains(a) || x.tbUser.User_name.Contains(a))).OrderByDescending(x => x.ProjectId).ToList();
        }
        else if (a == "" && StartDate == "" && EndDate == "" && ProjectID != "" && statusid != "")
        {
            int pid = Convert.ToInt32(ProjectID);
            int sid = Convert.ToInt32(statusid);
            tbtask = entity.tbltasks.Include(x => x.tblproject).Include(x => x.tbUser).Include(x => x.tblstatu).Where(x => selectproject.Contains(x.ProjectId) && x.tblproject.company_id == c && x.tblproject.ProjectId == pid && x.tblstatu.StatusId == sid).OrderByDescending(x => x.ProjectId).ToList();
        }
        else if (a != "" && StartDate == "" && EndDate == "" && ProjectID == "" && statusid == "")
        {
            tbtask = entity.tbltasks.Include(x => x.tblproject).Include(x => x.tbUser).Where(x => selectproject.Contains(x.ProjectId) && (x.tblproject.company_id == c) && (x.TaskName.Contains(a) || x.tbUser.User_name.Contains(a))).OrderByDescending(x => x.ProjectId).ToList();

        }
        else if (a != "" && ProjectID != "" && StartDate == "" && EndDate == "" && statusid == "")
        {
            int pid = Convert.ToInt32(ProjectID);
            tbtask = entity.tbltasks.Include(x => x.tblproject).Include(x => x.tbUser).Where(x => selectproject.Contains(x.ProjectId) && (x.tblproject.company_id == c) && (x.tblproject.ProjectId == pid) && (x.TaskName.Contains(a) || x.tbUser.User_name.Contains(a))).OrderByDescending(x => x.ProjectId).ToList();
        }
        else if (a != "" && StartDate != "" && EndDate != "" && ProjectID == "" && statusid == "")
        {
            DateTime sdate = Convert.ToDateTime(StartDate).Date;
            DateTime edate = Convert.ToDateTime(EndDate).Date;
            tbtask = entity.tbltasks.Include(x => x.tblproject).Include(x => x.tbUser).Where(x => selectproject.Contains(x.ProjectId) && (x.tblproject.company_id == c) && (x.TaskName.Contains(a) || x.tbUser.User_name.Contains(a)) && (x.StartDate >= sdate && x.EndDate <= edate)).OrderByDescending(x => x.ProjectId).ToList();
        }
        else
        {
            tbtask = entity.tbltasks.Include(x => x.tblproject).Include(x => x.tbUser).Where(x => selectproject.Contains(x.ProjectId) && x.tblproject.company_id == c).OrderByDescending(x => x.ProjectId).ToList();
        }
        return tbtask;

    }