1

これが私の問題です:

DisplayMapデータベース テーブルにマップされたエンティティがあります。このエンティティは、カスタム定義エンティティにリンクされていますMapBitmap

AMapBitmapは 0 ~ NDisplayMapDisplayMap持つことができ、 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 クライアントから newDisplayMapとnew を挿入するとMapBitmap、「送信」ですべてが機能します。サーバー側では、新しい子エンティティが存在DisplayMapする a のリストを列挙できます。MapBitmapDisplayMap

しかし、新しいエンティティを作成MapBitmapして既存のエンティティにリンクするとDisplayMap、サーバー側の「送信」でDisplayMap、新しいMapBitmapエンティティのリストが空になります。理由がわかりません。

奇妙なことに、クライアント側 (silverlight) では、"SubmitChanges" の前の関係は問題ありません。

誰にもアイデアはありますか?返信ありがとうございます。

4

0 に答える 0