嘿,我希望大家都做得很好。將EF Model暴露給各種客戶
我有(更多)一個廣泛的問題涉及將模型暴露給不同的客戶。
這是我的情況:我有一個使用EF 4.0和第三方Oracle提供程序創建的模型(位於Oracle之上)。該模型駐留在一個庫中,因此可以很容易地被多個項目引用。
我的目標是使通過多種類型的客戶的耗材型號爲可能的:
- .Net客戶端代碼(Silverlight的,WPF和ASP.Net,服務等)。
- MS Office應用程序(EXCEL)
現在,我並不想進入在模型中創建自定義方法的業務(例如GetCustomersWhoAreVeryUpsetOrderedByUpsetRank())。我希望能夠以客戶端代碼可以決定(在運行時)如何構建查詢的方式公開模型。我應該接受IQueriable,在服務中執行它並返回結果數據集?還是讓客戶通過模型完成所有工作?
我確實給了oData一個鏡頭,但似乎用來編寫Linq查詢的客戶端庫相當有限。另外該協議不支持更新。
所以我的問題是基於上述標準暴露模型的最佳方法/技術/實現是什麼?
非常感謝提前。
oData就是爲此而設計的。你發現LINQ支持的「限制」是什麼?它確實支持更新 - 即使是事務和樂觀併發。 – 2010-07-22 17:56:48
斯蒂芬 - 你是對的;數據是要走的道路 - 我早先對oData發表的評論道歉。在過去的10天裏,我做了相當多的研究,結論是它能很好地適應整個公司的體系結構。 – vajarov 2010-08-02 13:53:46