WPF应用程序Linq到sql获取数据



我正在制作一个带有数据网格的WPF应用程序,该应用程序显示一些sql数据。现在我正在制作一个搜索字段,但这似乎不起作用:

  • 联系人为非管理员
  • beddrif是一个虚变量但
  • LeverancierPK是INT我该如何在搜索中结合这些呢?如果我将LeverancierPK转换为字符串,那么我可以使用Contains,但这会给我一个错误

        //Inisiatie
        PRCEntities vPRCEntities = new PRCEntities();
        var vFound = from a in vPRCEntities.tblLeveranciers
                     where ((((a.LeverancierPK).ToString()).Contains(vWoord)) ||
                           (a.Contactpersoon.Contains(vWoord)) ||
                           (a.Bedrijf.Contains(vWoord)))
                     orderby a.LeverancierPK
                     select a;
        myDataGrid_Leveranciers.ItemsSource = vFound;
    

谢谢

如果您不关心从DB拉回所有记录(在您的回答中您拉回了所有记录),那么您可以在where子句之前做.ToList()

var vFound = vPRCEntities.tblLeveranciers.ToList()
             .Where(a => a.LeverancierPK.ToString().Contains(vWoord)) ||
                   a.Contactpersoon.Contains(vWoord) ||
                   a.Bedrijf.Contains(vWoord))
             .OrderBy(a.LeverancierPK);

这段代码可以做我正在寻找的,但我认为它可以短得多。

            PRCEntities vPRCEntities = new PRCEntities();
        var vFound = from a in vPRCEntities.tblLeveranciers
                     orderby a.LeverancierPK
                     select a;
        myDataGrid_Leveranciers.ItemsSource = null;
        myDataGrid_Leveranciers.Items.Clear();
        foreach (var item in vFound)
        {
            if (item.Bedrijf.Contains(vWoord))
            {
                myDataGrid_Leveranciers.Items.Add(item);                    
            }
            else
            {           
                if (item.LeverancierPK.ToString().Contains(vWoord))
                {
                    myDataGrid_Leveranciers.Items.Add(item);
                }
                else
                {
                    if (item.Contactpersoon != null)
                    {
                        if (item.Contactpersoon.Contains(vWoord))
                        {
                            myDataGrid_Leveranciers.Items.Add(item);
                        }
                    }
                }
            }                
        }

最新更新