0

以下の形式で顧客名を返すストアド プロシージャを作成しました。

LastName+", "+FirstName

以下のようなプロパティのクラスに割り当てました。

Customer = DbContext.ExecuteStoreQuery<SearchEmployeeCDTO>("exec GetCustomerDetails").AsQueryable().ToList();

今、私は以下のようにlastNameを検索したい私はCustomer companyNameに対して行った

if(CompanyName!=null && LastName==null)
Customer = Customer.Where(c => c.CompName.Contains(CompanyName)).ToList();

lastName と FirstName 形式の組み合わせから LastName を検索する方法を提案してください

ありがとう、

4

2 に答える 2

1

もしかしてこれ?

if(LastName!=null)
  Customer = Customer.Where(c => c.CustName.StartsWith(LastName)).ToList();
于 2012-05-25T11:34:03.970 に答える
0

別のリストに同じ値が含まれているかどうかを確認しようとすると、これを使用できます:(これらを汎用リスト要素の異なるプロパティとして取得する場合)

bool b = your1stList.Exists(c=> c.firstName == your2ndList.firstName ,
                               c.middleName == your2ndList.middleName ,
                               c.lastName  == your2ndList.lastName)

if ( b == true) 
{ 
  MessageBox.Show("You already have this Customer"); 
}

これは、連結アクティビティなしですべてのプロパティを取得するための良い方法です。将来のクエリでの頭痛の種からあなたを救います;)

一方、クエリを続行する場合は、lastname + firstNameの値を文字列に取得し、String.Split( "、")関数を使用して文字列配列を配置する必要があります。次に、単語lastName+firstnameがチェックする場合姓の場合はarray[0]インデックス、名の場合はarray[1]。

あなたが望む方法を選択してください。

于 2012-05-25T12:38:59.507 に答える