我正计划一个应用程序,它将在ASP.NET MVC Web应用程序,WinForms应用程序和MonoTouch iPad应用程序之间重用实体。我认为使用(流利)NHibernate作为ORM,但我担心,如果我设计我的实体用于WinForms,当我创建iPad应用程序时,我将不得不复制实体,并重新映射它们为iPad上的SQLLite(MonoTouch上没有NHibernate)。用于Mono,MonoTouch和ASP.NET MVC的ORM
是否有一个ORM在那里我可以逃脱:
- 使用相同的实体(这应该是可能的,如果实体从映射按功能NHibernate抽象)
- 使用相同的映射(这可能是难以实现,而不是提前为重要
感谢。
您的实体只是POCO,所以您不需要复制它们。您可以使用适用于Mono的NH,然后为MonoTouch编写一个裁剪版本的存储库,我怀疑您需要为MonoTouch实现所需的所有内容。 IoC FTW。 – Phill 2011-05-25 11:41:57
我同意 - POCO的将是相同的。我试图摆脱使用2个ORM,因此不得不分别映射每个项目上的对象。唉,看起来这并不容易,而且可能需要更少的时间进行映射和测试,而不是手动完成。 – Darbio 2011-05-25 12:08:14