У меня есть тип MainBusinessLine с ObservableCollection типа Group, и метод, который я вызываю из DomainService, возвращает запрашиваемый список MainBusinessLines. Итак, в этом методе я подтвердил, что все соответствующие группы добавлены в коллекцию групп MainBusinessLines. Но когда сущности загружаются в клиентское приложение Silverlight, почти все они отсутствуют. Но проблема в том, что у MainBusinessLine есть другая коллекция, и она содержит все соответствующие объекты после операции загрузки клиента. И мои атрибуты ассоциации одинаковы, то есть параметры для thisKey и otherKey установлены одинаково.
Я также создаю классы POCO вместо использования EntityFramework. Вот пример моего класса MainBusinessLine:
[Serializable,
DataContract]
public class MainBusinessLine : BaseDataContract
{
public MainBusinessLine()
{
}
private int _MainBusinessLineID;
[Key,
DataMember,
Required]
public int MainBusinessLineID
{
get
{
return _MainBusinessLineID;
}
set
{
if (_MainBusinessLineID == value)
return;
ReportPropertyChanging("MainBusinessLineID");
_MainBusinessLineID = value;
ReportPropertyChanged("MainBusinessLineID");
}
}
private ObservableCollection<LOBs> _DefaultLOBs;
[DataMember,
XmlIgnore,
SoapIgnore,
Include,
Association("DefaultLOBsCollection", "MainBusinessLineID", "MainBusinessLineID")]
public ObservableCollection<LOBs> DefaultLOBs
{
get
{
return _DefaultLOBs;
}
set
{
ReportPropertyChanging("DefaultLOBs");
_DefaultLOBs = value;
ReportPropertyChanged("DefaultLOBs");
}
}
private ObservableCollection<Groups> _Groups;
[DataMember,
Include,
Association("GroupsCollection", "MainBusinessLineID", "MainBusinessLineID")]
public ObservableCollection<Groups> Groups
{
get
{
return _Groups;
}
set
{
ReportPropertyChanging("Groups");
_Groups = value;
ReportPropertyChanged("Groups");
}
}
}
А вот классы LOB и Groups:
[Serializable,
DataContract]
public class LOBs : BaseDataContract
{
private int _LOBID;
[Key,
DataMember,
Required]
public int LOBID
{
get
{
return _LOBID;
}
set
{
if (_LOBID == value)
return;
ReportPropertyChanging("LOBID");
_LOBID = value;
ReportPropertyChanged("LOBID");
}
}
private int _GroupID;
[DataMember]
public int GroupID
{
get
{
return _GroupID;
}
set
{
if (_GroupID == value)
return;
ReportPropertyChanging("GroupID");
_GroupID = value;
ReportPropertyChanged("GroupID");
}
}
private int _MainBusinessLineID;
[DataMember]
public int MainBusinessLineID
{
get
{
return _MainBusinessLineID;
}
set
{
if (_MainBusinessLineID == value)
return;
ReportPropertyChanging("MainBusinessLineID");
_MainBusinessLineID = value;
ReportPropertyChanged("MainBusinessLineID");
}
}
}
[Serializable,
DataContract]
public class Groups : BaseDataContract
{
private int _GroupID;
[Key,
DataMember,
Required]
public int GroupID
{
get
{
return _GroupID;
}
set
{
if (_GroupID == value)
return;
ReportPropertyChanging("GroupID");
_GroupID = value;
ReportPropertyChanged("GroupID");
}
}
private int _MainBusinessLineID;
[DataMember]
public int MainBusinessLineID
{
get
{
return _MainBusinessLineID;
}
set
{
if (_MainBusinessLineID == value)
return;
ReportPropertyChanging("MainBusinessLineID");
_MainBusinessLineID = value;
ReportPropertyChanged("MainBusinessLineID");
}
}
}
Может кто-нибудь, пожалуйста, скажите мне, что я могу ошибаться здесь? У меня есть ощущение, что это как-то связано с тем, как я устанавливаю атрибуты ассоциации. Спасибо