在一個Silverlight5/RIA Services應用程序我建立了一個域名服務一個非常簡單的數據庫:C#如何處理RIA域服務中n:m關聯中的導航屬性?
訂房N:1個設備1:N GroupToEquipment N:1組
在我的自動生成的EDMX的GroupToEquipment實體從不出現,直接顯示從設備到組的直接關聯。到現在爲止還挺好。
已經從裝備到1參考:我的DomainService內的N個相關訂單,我不得不插入[包含]和[公會...]的「DomainService.metadata.cs」內
[Include]
[Association("FK_Booking_Equipment", "EquipmentId","EquipmentId")]
public EntityCollection<Booking> Booking { get; set; }
和「DomainService.cs」中增加了一個.INCLUDE(「預訂」)
public IQueryable<Equipment> GetEquipment()
{
return this.ObjectContext.Equipment.Include("Booking");
}
這完美的作品和查詢設備時,所有預訂的引用裝!但我該如何採用這個n:m組聯繫?
下面的代碼是我然後另外的「DomainService.metadata.cs」中嘗試:
internal sealed class EquipmentMetadata
{
// Metadata classes are not meant to be instantiated.
private EquipmentMetadata()
{
}
[Include]
[Association("FK_Booking_Equipment", "EquipmentId","EquipmentId")]
public EntityCollection<Booking> Booking { get; set; }
public Guid EquipmentId { get; set; }
[Include]
[Association("GroupToEquipment", "EquipmentId", "GroupId")]
public EntityCollection<Group> Group { get; set; }
public string Name { get; set; }
}
}
,這在的DomainService:
public IQueryable<Equipment> GetEquipment()
{
return this.ObjectContext.Equipment.Include("Booking").Include("Group");
}
代碼編譯罰款,但有在查詢設備....之後沒有提到羣組... :-(
我在做什麼錯了?很確定這只是一個小問題,對於一個知道...
最好的問候, Flo。
您是否恢復了對預訂的引用?我會嘗試兩件事:1)運行Fiddler2並查看WCF Silverlight 2下返回的內容)刪除[Association] - 我從來不必包含它 –
包括預訂參考。如果我刪除[Association]編譯失敗.... – Flo