与自定义实体的父/子关联。为什么子实体“列表”在服务器端是空的?

时间:2013-02-19 17:16:31

标签: wcf silverlight associations ria

这是我的问题:

我有一个映射到数据库表的实体DisplayMap。此实体与自定义实体MapBitmap链接。

MapBitmap可以是0到N DisplayMapDisplayMap可以有0或1 MapBitmapMapBitmap是一个自定义实体(它不是我的数据库表,实际上它代表服务器上的文件)。

以下是代码:

[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列表{{1} 1}},存在新的MapBitmap子实体。

但是,当我创建新的DisplayMap然后将其链接到现有的MapBitmap时,在“提交”上,在服务器端,新的DisplayMap列表DisplayMap实体为空。我不明白为什么。

奇怪的是,在客户端(silverlight),在“SubmitChanges”之前关系是正确的。

有人有想法吗?感谢您的回复。

0 个答案:

没有答案