2013-05-12 46 views
0

我有一個Parent POCO類ParentItem其中List<ChildItem>裏面,我已經設置了正確的AssociationAttribute。但是,當我試圖使用ParentItem.ChildItems.Add(childItem)ChildItem添加到ParentItem時,domainContext的HasChanges爲true,但DomainContext.SubmitChanges不起作用。SubmitChanges不適用於WCF RIA和POCO子對象

我檢查了HasError屬性,並且沒有錯誤,但它沒有調用InsertUpdate操作。如果我更改ParentItem的任何其他屬性,它工作正常。

我使用的是Silverlight 5.0,WCF RIA SP1和EF 4.0,我不確定我做錯了什麼!

UPDATE

我取代的SubmitChanges與Invoke方法,結果發現,在服務器端我沒有得到孩子。兒童數量爲零。這是否意味着我的聯繫是錯誤的?

這是我的結構

public class ParentItem 
{ 
    [Key] 
    public int ParentId{get;set;} 

    [Include] 
    [Association("ChildrentItems", "ParentId", "ParentId")] 
    public List<ChildItem> Children{get;set;} 
} 

public class ChildItem 
{ 
    [Key] 
    public int ChildItemId{get;set;} 
    public int ParentId{get;set;} 
    public string Code {get;set;} 
} 

感謝。

回答

1

通過添加[Composition]屬性,指示WCF RIA跟蹤對Silverlight中集合的更改並將0123發佈到DomainContext.SubmitChanges上的服務器。

public class ParentItem 
{ 
    [Key] 
    public int ParentId{get;set;} 

    [Include] 
    [Association("ChildrentItems", "ParentId", "ParentId")] 
    [Composition] 
    public List<ChildItem> Children{get;set;} 
}