ネストされた一連のビジネス オブジェクトがあるとします。
public class Customer
{
public int ID { get; set; }
public string Name { get; set; }
public Address Address { get; set; }
}
public class Address
{
public int ID { get; set; }
public string Street { get; set; }
// ...
public AddressType Type { get; set; }
}
public enum AddressType
{
Billing,
Mailing
}
ここで、顧客の名前のみを更新したいとしましょう。私が遭遇した問題は、呼び出しているサービス メソッドがそれらを無視している場合でも、ネストされたオブジェクトのすべてのデータを提供する必要があることです。
問題は、列挙型、ID、およびその他の値が null 許容されないことです。したがって、EF はデータが null であると不平を言います。
これを機能させるには、ダミー データをオブジェクトに追加する必要がありました (これもサービス メソッドによって無視されます)。データのサブセットのみが必要な場合は、完全なオブジェクトを前後に送信する必要はないようです。
EF/WCF で部分的な更新を処理するより良い方法はありますか?
編集:
WCF サービスに次のメソッドがあるとします。
public void UpdateCustomer (Customer customer)
変更Customer
された値Name
とID