これが私の問題です:
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 クライアントから newDisplayMap
とnew を挿入するとMapBitmap
、「送信」ですべてが機能します。サーバー側では、新しい子エンティティが存在DisplayMap
する a のリストを列挙できます。MapBitmap
DisplayMap
しかし、新しいエンティティを作成MapBitmap
して既存のエンティティにリンクするとDisplayMap
、サーバー側の「送信」でDisplayMap
、新しいMapBitmap
エンティティのリストが空になります。理由がわかりません。
奇妙なことに、クライアント側 (silverlight) では、"SubmitChanges" の前の関係は問題ありません。
誰にもアイデアはありますか?返信ありがとうございます。