【问题标题】:Sharing code between sqlite-net and servicestack ormlite?在 sqlite-net 和 servicestack ormlite 之间共享代码?
【发布时间】:2012-06-11 00:34:38
【问题描述】:

我正在使用 sqlite-net 在我的 MonoDroid 移动应用程序上存储数据。我也想将此数据与服务器端服务同步。

是否可以在 sqlite-net 和 Servicestacks ormlite 之间共享我的实体对象的代码?

我可以看到两者之间的主要区别是在对象的类顶部声明“使用命名空间”语句。是否可以检测平台并根据平台设置using语句?

另一个区别是为 servicestack 引用不同的 dll,所以我想在移动应用程序上,如果有对 servicestack 命名空间的引用,它就不会编译...

实现代码共享的好方法是什么?

【问题讨论】:

    标签: c# xamarin.android servicestack ormlite-servicestack


    【解决方案1】:

    它们是 2 个不同的程序集,使用物理上不同的属性类型,因此为了链接它们,我将使用 2 个 VS.NET/MonoDevelop 项目解决方案文件,每个项目中都定义了自定义构建符号,因此您可以执行以下操作:

    #if MONODROID
       using SQLite;
    #else
       using ServiceStack.OrmLite;
    #endif
    

    为了尽量减少影响,您还可以将尽可能多的平台差异保留到特定平台文件中,并在每个解决方案中包含适当的差异。

    您可以在ServiceStack.Text JSON、JSV 和 CSV 文本序列化程序中看到支持多个构建环境的示例,其中.NET, MonoTouch, Silverlight 4.0/5.0, Windows Phone and XBox environments 具有不同的 .sln/.proj 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-13
      • 2023-03-14
      • 2022-10-04
      • 2014-09-24
      • 1970-01-01
      • 2014-07-07
      • 1970-01-01
      相关资源
      最近更新 更多