用于 Mono、MonoTouch 和 ASP.NET MVC 的 ORM
Posted
技术标签:
【中文标题】用于 Mono、MonoTouch 和 ASP.NET MVC 的 ORM【英文标题】:ORM for Mono, MonoTouch and ASP.NET MVC 【发布时间】: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,因此必须分别映射每个项目上的对象。唉,这似乎并不容易,而且绘制和测试所需的时间可能比手工完成要少。 【参考方案1】:我正在使用 ViciProject CoolStorage,它非常棒。推荐!
http://viciproject.com/wiki/projects/coolstorage/home
【讨论】:
这看起来不错 - 虽然我不确定我是否也会在服务器端使用它。谢谢,看起来像是 MT 方面的赢家 :) 我们也在服务器端使用它,用 .NET 4.0 编写并部署为集群中的 IIS 服务,效果很好。这个 API 的简单性对我们来说是正确的,并且大大加快了开发速度。以上是关于用于 Mono、MonoTouch 和 ASP.NET MVC 的 ORM的主要内容,如果未能解决你的问题,请参考以下文章
Monotouch iPhone 项目未出现在 MonoDevelop 中