2011-03-21 64 views
1

我正在創建非常薄的DTO,我想知道是否有共享Linq到SQL實體的方法。我試過了。我在部分類中創建了一個元數據類並設置了關鍵註釋。然後我試圖在我的RIA服務的查詢中公開這些實體。雖然我在生成的代碼中抱怨System.Data.Linq,但我得到了錯誤。這是有道理的,但有沒有一種方法可以做到這一點,而不必依賴於Silverlight中沒有的其他庫的依賴關係?通過RIA服務共享Linq到SQL實體

請注意,我沒有使用實體框架,因爲它對我當前的項目來說很大。我寧願使用薄薄的DTO,也不願爲這個項目帶來EF。

編輯:

我的問題是更普遍的是:可以的LINQ to SQL實體可以通過服務,直接使用RIA服務DTO的和共享?

+1

我想我們需要的(簡化的)例子合同接口和它的實現。 – 2011-03-22 10:00:04

+0

契約接口如何應用?我只想使用由我的Linq-to SQL創建的實體類作爲RIA Services實體,而不必創建單獨的DTO來投影它們。我討論的依賴關係是Silverlight中不可用的框架依賴關係(即'System.Data.Linq')。 – Jordan 2011-03-22 20:58:27

+0

一個快速谷歌出現了這個鏈接http://www.c-sharpcorner.com/UploadFile/nipuntomar/958/這似乎提供了一個使用RIA與LINQ-to-SQL的具體例子。 – Rus 2011-03-22 21:01:44

回答

0

簡短的回答:不採取另一種方法號

龍答:

並非所有的API是在由Silverlight運行時所表示的.NET Framework版本的支持。對於支持者的API的完整列表,在這裏看到:

http://blogs.msdn.com/b/nickkramer/archive/2010/03/19/silverlight-4-rc-api-listing-in-one-big-text-file.aspx

如果您嘗試使用這對不被支持,那麼你會遇到你所遇到的問題的API的依賴任何DLL。您無法通過RIA線路的原始狀態推送LINQ to SQL類。

這會工作的唯一方法是,如果針對被映射到一個DataContext比如這個例子POCO類生成的LINQ到SQL層:http://www.thinqlinq.com/default/LINQ-to-SQL-support-for-POCO.aspx

+0

這就是我正在尋找的答案。謝謝。我會堅持我的DTO的。 – Jordan 2011-04-08 13:11:58