2012-06-05 41 views
17

我正在尋找某種可與Metro Style應用程序配合使用的ORM。我發現很多帖子都提到了不同的SQLite實現,這些實現似乎與Metro風格的應用程序一起工作(或根據其他帖子),但目前還沒有任何工作示例項目在Windows 8 Metro上顯示ORM。其他帖子指的是可能有效的項目,但由於禁止API調用,因此無法通過Marketplace認證。Windows 8 Metro Style應用程序可以使用實體框架還是Linq To SQL?

我發現的很多信息可能都已過時,所以我不確定我是否可以使用此權限。

有沒有人設法讓某種ORM在Windows Metro風格的應用程序中運行?如果可能的話,我想使用EF Code First,但我越來越絕望,所以我不太挑剔。

感謝您的建議,

阿德里安

+0

有第三方解決方案 - Devart LinqConnect。閱讀他們的博客http://blogs.devart.com/dotconnect/linqconnect-for-metro-quick-start-guide.html –

回答

10

我目前在C#Windows 8 Metro應用上使用SQLite,使用Tim Heuer在this post(還有一個video)中解釋的實驗分支的代碼,它運行良好,它會通過商店認證(Tim Heuer也在帖子中提到)。

它不是實體框架,但它是迄今爲止我們用於處理本地數據庫的最佳選擇。

其他替代方案:

  • IndexedDB(這是一個HTML5特性,所以它僅適用於HTML5應用程序)
  • SQLite - AFAIK它的工作原理,但不通過店鋪認證尚未
  • WinRT File Based Database - 有趣的是,雖然不如SQLite的性能
  • Siaqodb - 有趣的。還沒有測試它
  • Sterling NoSQL OODB - 不支持WinRT,但不應該很難移植...我期待儘快發佈。不過,這是NoSQL。
+0

這實際上是一個很好的解決方案。不是EF,但比我預期的要好得多。謝謝! –

4

據我知道這是不可能的,因爲.NET地鐵doesn't even have System.Data namespace和所有必需的類來訪問數據庫。

+1

它不一定是MS技術。我對任何第三方解決方案都非常滿意。 –

+0

我知道的唯一的解決方案已經在你的問題中提到 - 用於WinRT的SQLite,但它沒有ORM支持,它只是一個數據庫。還應該有一些叫做MS Jet Blue的東西 - 但我擔心它會像MS Access的引擎一樣。 –

+0

它沒有ORM支持!似乎有很多sqllite實現的響應,但沒有OP所要求的ORM支持,我也希望找到它。 – ezaspi

4

正如拉迪斯拉夫所說,目前尚不可能。但是,您可以在WinRT平臺上使用WCF數據服務(OData)。欲瞭解更多信息,請參閱Phani的帖子Developing Windows 8 Metro style applications that consume OData

+0

感謝您的回覆。不幸的是,這不是我的情況下的解決方案,因爲我的應用程序需要離線緩存大量數據。 –

相關問題