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