我目前正在使用實體框架(與.NET Framework版本3.5 SP1一起打包的版本)和大量AJAX基於的功能,我正在客戶端使用jQuery並在服務器端使用ASP.NET WebMethods。通過ASP.NET在JSON中添加實體框架實體(一對多)WebMethod
我通常創建使用接受的實體作爲參數一個WebMethod新的實體如下:
[WebMethod]
public static void Add(User user);
調用此方法時,我組裝類似的實體的對象(在性質方面)在JavaScript和將它作爲JSON字符串傳遞。但是,當嘗試以多對多關係傳遞相關實體時,我遇到了一個問題。假設一個用戶實體與Flight實體有一對多的關係 - 添加一個擁有多個(新)航班的新用戶證明是有問題的。以下方法:
this.user.Flight = [];
var x = new Object();
// Code here to populate x's properties
this.user.Flight.push(x);
// Repeat again for more flights
結果在ASP.NET錯誤(在反序列化階段),指出列表不能轉換爲EntityCollection。
我又試圖這種方法:
this.user.Flight = {};
var x = new Object();
// Code here to populate x's properties
this.user.Flight.firstFlight = x;
// Repeat again for more flights
在這種情況下,將WebMethod成功調用,但丟失的航班完全(調用user.Flight.Count()中的WebMethod返回0)。
有沒有人有任何想法如何我可以將一個EntityCollection中的多個航班傳遞給WebMethod?
在這裏,只是因爲你的用戶名讓我發笑纔得到讚揚。 – 2009-11-17 13:25:51
+1確實,同上。 – grenade 2009-11-19 13:23:31
我在代碼中看不到EntityCollection。你能否提供額外的澄清/代碼剪輯? – 2009-11-19 16:44:17