我正在尝试使用MonoTouch + Mono for Android实现客户端 - 服务器解决方案。
对于服务器端,我使用的是ADO.NET实体模型。 AFAIK,这不是上述框架的一部分,但我的问题是:
我是否可以仅在客户端部分重用实体时在客户端中引用(通用)基于ADO.NET / EF4的数据层项目?或者,这个架构问题是否有不同的解决方案?
编辑:忘了说,对于客户端,我正在考虑从POCO模板自动生成的POCO实体。
答案 0 :(得分:1)
执行此类操作的好方法是在ADO.NET实体框架中使用代码优先方法。在服务器上创建实体并为它们构建DataContext实现后,请按照以下步骤将实体添加到Mono for Android项目中(如果您使用的是Visual Studio)。
现在,当您编辑服务器项目或客户端中的文件时,它们将保持同步。 请记住,您可以从实体中使用的属性集和API是有限的。要把事情做好,可能需要一些小工作。
提示:使用部分类添加特定于环境的行为和数据。为每个实体类添加第二个.cs文件,并将客户端上不需要的任何成员添加到该文件中。同样适用于您只在应用中使用的客户端功能,但不适用于服务器。
当您使用MonoDevelop处理Mac时,上述所有操作也适用。该应用程序还支持链接与.csproj文件位置不同位置的项目。