【发布时间】:2011-05-24 00:30:05
【问题描述】:
我正在计划一个应用程序,它将在 ASP.NET MVC Web 应用程序、WinForms 应用程序和 MonoTouch iPad 应用程序之间重用实体。
我考虑过使用 (Fluent) NHibernate 作为 ORM,但我担心如果我设计我的实体以在 WinForms 上使用,当我创建 iPad 应用程序时,我将不得不复制实体,并将它们重新映射到 SQLLite在 iPad 上(MonoTouch 上没有 NHibernate)。
有没有我可以逃脱的 ORM:
- 使用相同的实体(如果实体是根据 Fluent NHibernate 从映射中抽象出来的,这应该是可能的)
- 使用相同的映射(这可能更难实现且不那么重要
提前致谢。
【问题讨论】:
-
您的实体只是 POCO,因此您无需复制它们。您可以使用在 Mono 上工作的 NH,然后为 MonoTouch 编写存储库的缩减版本,我怀疑您是否需要为 MonoTouch 实现一切,正是您需要的。国际奥委会 FTW。
-
我同意 - POCO 将是相同的。我试图摆脱使用 2 个 ORM,因此必须分别映射每个项目上的对象。唉,这似乎并不容易,而且绘制和测试所需的时间可能比手工完成要少。
标签: nhibernate orm mono xamarin.ios domain-model