0

これは、私のWCFサービスでの操作の実装です。オブジェクト_membersはEFです。 は、データを格納して動的Linqを使用して列挙に適用するQueryConstraintデータコントラクトです。WhereOrderBy

public IEnumerable<CustomersDC> GetCustomers(QueryConstraint a_constraint)
{
    var customers = from customer in _members.Customers
                    select new CustomersDC
                    {
                        CustomerID = customer.ID,
                        Email = customer.Email,
                        FirstName = customer.FirstName,
                        LastName = customer.LastName,
                        IsEmailVerified = customer.EmailVerified,
                        AccountingID = customer.AccountingID,
                        IsTaxExempt = customer.TaxExempt
                    };

    return customers.Apply(a_constraint);
}

このフィールドAccountingIDは、別のデータベースからの保留です。そういうものでnchar、私はサービスでそれをトリミングしたいと思っています。これを行う方法はありますか?

ありがとう。

4

1 に答える 1

0

を使用できますcustomer.AccountingID.Trim()。linq-to-objectsを除いて、これAccountingIDはnullの場合にnull参照例外をスローしません。これは、Entity Frameworkがnullを変換し、がnullのLTRIM(RTRIM( xxx ))場合はnullを返すためxxxです。

そのためIQueryable、リーク抽象化と呼ばれ、それをどのように実装するかが重要になります。ToList()明らかに無害な変更を追加すると、ランタイム例外が発生する可能性があるため、これは非常に厄介な場合があります。

于 2012-08-28T16:56:50.817 に答える