I have a MainBusinessLine type with an ObservableCollection of type Group, and a method that I call from a DomainService the returns a queryable list of MainBusinessLines. So in this method I have confirmed that all the appropriate Groups are added to the MainBusinessLines Groups collection. But when the entities are loaded in the client silverlight application it's missing pretty much all of them. But the kicker is that the MainBusinessLine has another collection and it does contain all the appropriate entities after the client load operation. And my Association Attributes are the same way, meaning the parameters for thisKey and otherKey are set similar.
I am also creating POCO classes instead of using the EntityFramework. Here is a sample of my MainBusinessLine class:
[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");
}
}
}
And here are the LOBs and Groups classes:
[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");
}
}
}
Could someone please tell me what I may have wrong here? I have a feeling it has something to do with the way I'm setting the association attributes. Thanks