データベースには、Contactというテーブルがあります。ファーストネームやその他のそのような文字列フィールドは、私のデータベースデザインではなくCharデータ型を使用するように設計されています。私のオブジェクト連絡先は、プロパティの文字列型にマップします。私はidでContactオブジェクトを取得する簡単なテストをやってみたかった場合、私はこのようなものだろう:Linqを使ってSqlに値をトリムする方法は?
Contact contact = db.Contacts.Single(c => c.Id == myId);
Contact test = new Contact();
test.FirstName = "Martin";
Assert.AreEqual(test.FirstName, contact.FirstName);
をcontact.FirstName値があるため、char型の「マーチン」です。 FirstNameプロパティがロードされているとき、どこで傍受できますか? OnFirstNameChanging(文字列値)は初期ロード(連絡先)で呼び出されるのではなく、テストオブジェクトで呼び出されます。
これは動作します。私は表示するために多くのフィールドを表示していないので、各フィールドではかなり簡単です。ありがとう。 – Marsharks
これは、プロパティ変更されたイベント(他のアクションを引き起こす可能性がある)を生成し、内容を意味の変更を加えずにプロパティの値を変更しているため、データベースを不必要に更新する可能性があります。 – tvanfosson
質問のポイントは、このようなロジックを行う場所を見つけることでした(この場合はOnLoaded())。メソッド自体は、 "_FirstName = _FirstName.Trim();"というように簡単に構成できます。変更されたイベントの発射が適切に行われないようにします。 –