0

いくつかのSQLデータを表示するデータグリッドを使用してWPFアプリケーションを作成しています。今私は検索フィールドを作っていますが、それはうまくいかないようです:

  • Contactpersoonはnvarcharです
  • bedrijfはnvarcharですが
  • 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;
    

ありがとう

4

2 に答える 2

0

DBからすべてのレコードをプルバックすることを気にしない場合(あなたの答えではすべてをプルバックしました)、.ToList()where句の前に行うことができます。

var vFound = vPRCEntities.tblLeveranciers.ToList()
             .Where(a => a.LeverancierPK.ToString().Contains(vWoord)) ||
                   a.Contactpersoon.Contains(vWoord) ||
                   a.Bedrijf.Contains(vWoord))
             .OrderBy(a.LeverancierPK);
于 2013-02-27T20:21:19.220 に答える
0

このコードは私が探していたものを実行できますが、かなり短くなる可能性があると思います。

            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);
                        }
                    }
                }
            }                
        }
于 2013-02-27T19:37:21.873 に答える