【问题标题】:Referencing an ADO.NET project in MonoTouch and Mono for Android在 MonoTouch 和 Mono for Android 中引用 ADO.NET 项目
【发布时间】:2012-09-07 23:45:09
【问题描述】:

我正在尝试使用 MonoTouch + Mono for Android 实现客户端-服务器解决方案。

对于服务器端,我使用的是 ADO.NET 实体模型。 AFAIK,这不是上述框架的一部分,但我的问题是:

我能否仅为了部分重用客户端上的实体而在客户端中引用(通用)基于 ADO.NET/EF4 的数据层项目?或者,对于这个架构问题是否有不同的解决方案?

编辑:忘了说,对于客户端,我正在考虑从 POCO 模板自动生成的 POCO 实体。

【问题讨论】:

  • 如果你想引用实体,我会将它们从数据层项目中删除,并将它们放入自己的独立类库中(没有任何数据层技术 - 只是类)。这样,我相信您可以共享该程序集!
  • 在 [这里][1] 找到了解决方案,希望它也可以帮助其他人。 [1]:stackoverflow.com/questions/2464909/…

标签: xamarin.ios xamarin.android


【解决方案1】:

执行此操作的一个好方法是采用 ADO.NET 实体框架中的代码优先方法。在服务器上创建实体并为其构建 DataContext 实现后,请按照以下步骤将实体添加到 Mono for Android 项目(如果您使用的是 Visual Studio)。

  1. 右键单击 Mono for android 项目并选择添加现有项
  2. 选择要添加的文件
  3. 单击“打开”按钮旁边的小箭头并选择“链接”。

现在,当您在服务器项目或客户端中编辑文件时,它们将保持同步。 请记住,您可以从实体中使用的一组属性和 API 是有限的。把事情做好可能需要花点功夫。

提示:使用部分类来添加特定于环境的行为和数据。为每个实体类添加第二个 .cs 文件,并将客户端上不需要的任何成员添加到该文件中。这同样适用于您只需要在您的应用中而不是在服务器上的客户端功能。

当您使用 MonoDevelop 在 Mac 上工作时,上述所有方法也适用。该应用程序还支持链接与 .csproj 文件位置不同的项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 1970-01-01
    • 2012-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多