首先,我是WCF世界的新手,所以如果這聽起來很天真,請原諒我。wcf服務可以鬆散地解耦
據我瞭解,與基於ASP.NET網站,其使用ADO.NET傳達給數據庫,基於Silverlight的應用程序總是需要一個WCF RIA或服務進行通信,以DB。我們知道ASP.NET網站與數據庫模型沒有緊密耦合,因此可以使用ADO.NET運行任何存儲過程,並在網格中查看結果,而不必瞭解生成的對象模型。
然而,在WCF RIA或服務,你必須總是有它與數據庫實體模型同步,並沒有在服務中的結果模式不能運行任何存儲過程。因此,Silverlight在某種程度上迫使我們與數據庫模型緊密結合。
有什麼辦法,我可以查看在網格上不管PROC得到在後端改變的次數的存儲過程的結果?
是的,我知道WCF提供了一個合約,並且數據對象被序列化以供客戶端使用。在我的應用程序中,我有一個可以調用存儲過程的linq sql類,而IResult是由設計器自動生成的。只要存儲過程沒有改變,這個工作就會生效,但是一旦我添加或刪除一個列形成結果,我將不得不更新服務。我想知道是否可以通過提供存儲的proc名稱以及參數來對數據庫進行泛型調用(即,像在ADO.NET中使用SqlCommand,CommandType = sp和SqlReader一樣) – Hari 2010-10-19 22:15:36
WCF中絕對沒有任何東西阻止您使用普通的ADO.NET作爲你的數據庫層。您只需使用您手動編寫的POCO(Plain Old CLR對象),而不是L2S或EF爲您生成的類。 – 2010-10-19 22:48:24
@哈里 - 我已經編輯了我的答案以迴應你的評論 – slugster 2010-10-19 22:53:04