1

このコード ジェネレーターを使用して、WCF を使用してサーバーからクライアントに送信できる双方向シリアル化属性を持つビジネス オブジェクトを作成しています。これは以前は機能していましたが、コンピューターを切り替えたところ、ソース コードは変更されていませんが、現在は一方向のシリアル化しかないようです。

これは、まだシリアル化されると予想されるプロパティです。

partial void OnApplicationIDChanging(int value);
partial void OnApplicationIDChanged();
private int _ApplicationID;
[Column(Storage=@"_ApplicationID", DbType=@"Int NOT NULL", CanBeNull=false)]
[DataMember(Order=2)]
public int ApplicationID
{
    get { return _ApplicationID; }
    set {
        if (_ApplicationID != value) {
            if (_Application.HasLoadedOrAssignedValue) {
                throw new ForeignKeyReferenceAlreadyHasValueException();
            }
            OnApplicationIDChanging(value);
            SendPropertyChanging();
            _ApplicationID = value;
            SendPropertyChanged("ApplicationID");
            OnApplicationIDChanged();
        }
    }
}

private EntityRef<Application> _Application;
[Association(Name=@"Application_ApplicationExecution", Storage=@"_Application", ThisKey=@"ApplicationID", OtherKey=@"ApplicationID", IsForeignKey=true)]
public Application Application
{
    get {
        return _Application.Entity;
    }
    set {
        Application previousValue = _Application.Entity;
        if ((previousValue != value) || (!_Application.HasLoadedOrAssignedValue)) {
            SendPropertyChanging();
            if (previousValue != null) {
                _Application.Entity = null;
                previousValue.ApplicationExecutions.Remove(this);
            }
            _Application.Entity = value;
            if (value != null) {
                value.ApplicationExecutions.Add(this);
                _ApplicationID = value.ApplicationID;
            }
            else {
                _ApplicationID = default(int);
            }
            SendPropertyChanged("Application");
        }
    }
}

そのプロパティは、ApplicationExecution というクラスにあります。そのオブジェクトをプルダウンすると、その Application プロパティがサーバー側で設定されますが、WCF サービス呼び出しを介して取得された後、クライアント側でアクセスしようとすると null になります。

正しい属性がすべて残っていると確信しています。何か不足していますか?そうでない場合、これが機能しなくなった原因は何ですか?

4

0 に答える 0