在sqlite-net和servicestack ormlite之间共享代码?

时间:2012-06-11 00:34:38

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

#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文件。