2011-05-24 47 views
2

我正計劃一個應用程序,它將在ASP.NET MVC Web應用程序,WinForms應用程序和MonoTouch iPad應用程序之間重用實體。我認爲使用(流利)NHibernate作爲ORM,但我擔心,如果我設計我的實體用於WinForms,當我創建iPad應用程序時,我將不得不復制實體,並重新映射它們爲iPad上的SQLLite(MonoTouch上沒有NHibernate)。用於Mono,MonoTouch和ASP.NET MVC的ORM

是否有一個ORM在那裏我可以逃脫:

  1. 使用相同的實體(這應該是可能的,如果實體從映射按功能NHibernate抽象)
  2. 使用相同的映射(這可能是難以實現,而不是提前爲重要

感謝。

+1

您的實體只是POCO,所以您不需要複製它們。您可以使用適用於Mono的NH,然後爲MonoTouch編寫一個裁剪版本的存儲庫,我懷疑您需要爲MonoTouch實現所需的所有內容。 IoC FTW。 – Phill 2011-05-25 11:41:57

+0

我同意 - POCO的將是相同的。我試圖擺脫使用2個ORM,因此不得不分別映射每個項目上的對象。唉,看起來這並不容易,而且可能需要更少的時間進行映射和測試,而不是手動完成。 – Darbio 2011-05-25 12:08:14

回答

4

我使用ViciProject CoolStorage,它是Br illiant。推薦的!

http://viciproject.com/wiki/projects/coolstorage/home

+0

這看起來不錯 - 雖然我不確定我是否也會在服務器端使用它。謝謝,看起來像MT方面的贏家:) – Darbio 2011-05-25 12:09:58

+0

我們也在服務器端使用它,用.NET 4.0編寫,並作爲羣集中的IIS服務進行部署,效果很好。這個API的簡單性對我們來說是正確的,並加快了開發速度。 – 2011-05-26 17:25:04