我正在使用this代码生成器来创建具有双向序列化属性的业务对象,这些属性可以使用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。
我很确定所有正确的属性仍然存在。我错过了什么吗?如果没有,可能是什么导致这种情况停止工作?