这是我的问题:
我有一个DisplayMap
映射到数据库表的实体。该实体与自定义实体链接MapBitmap
。
AMapBitmap
可以有 0 到 NDisplayMap
并且DisplayMap
可以有 0 或 1 MapBitmap
。AMapBitmap
是一个自定义实体(它不是我的数据库的表,实际上它代表服务器上的一个文件)。
这是代码:
[MetadataType(typeof(DisplayMapMetadata))]
public partial class DisplayMap
{
...
[DataMember]
public int? MapBitmapId { get; set; }
[Include]
[DataMember]
[Association("DisplayMap", "MapBitmapId", "Id", IsForeignKey = true)]
public MapBitmap MapBitmap { get; set; }
.....
}
[MetadataType(typeof(MapBitmapMetadata))]
[DataContract]
public partial class MapBitmap
{
.....
[Key]
[DataMember]
public int Id { get; set; }
[DataMember]
private List<DisplayMap> _DisplayMap = new List<DisplayMap>();
[Include]
[DataMember]
[Association("DisplayMap", "Id", "MapBitmapId", IsForeignKey=false)]
public List<DisplayMap> DisplayMap
{
get
{
if (this._DisplayMap == null)
{
this._DisplayMap = new List<DisplayMap>();
}
return this._DisplayMap;
}
set { this._DisplayMap = value; }
}
...
}
当我从 silverlight 客户端插入一个新的DisplayMap
和一个新的MapBitmap
时,在“提交”上一切正常:在服务器端,我可以枚举DisplayMap
一个MapBitmap
新的DisplayMap
子实体的列表。
但是,当我创建一个新实体MapBitmap
然后将其链接到现有DisplayMap
的,在服务器端的“提交”上,DisplayMap
新MapBitmap
实体的列表是空的。我不明白为什么。
奇怪的是,在客户端(silverlight),关系在“SubmitChanges”之前是好的。
有人有想法吗?感谢您的任何回复。