Azure + PCL + WP8,是否可以将所有型号存储在PCL中?

时间:2014-07-09 12:09:17

标签: c# azure windows-phone-8 azure-mobile-services portable-class-library

我正在使用Azure:我创建了一个.net后端(因此在我的解决方案中,我有PCL,Server,Wp8项目),我想将所有模型移动到PCL。

但是,Backend的模型继承自EntityData,它是WindowsAzure.MobileServices.Backend.Entity的一部分。

问题是:我应该将WindowsAzure.MobileServices.Backend包含在PCL中,还是应该将Backend和PCL模型分开?

编辑:嗯,刚跳进EntityData,现在它说,它是WindowsAzure.Mobile.Service的一部分。那更好,但问题是一样的:模型应该存储在哪里?

EDIT2:尝试添加Azure Mobile Services .NET Backend Entity Framework,并希望在我的PCL项目中安装大量其他内容,例如AspNet.WebApi.OwinAspNet.Razor。似乎不是一个好主意...

1 个答案:

答案 0 :(得分:1)

我所做的是创建aload DTO / View Models并将它们粘贴在PCL中,显然就像你提到的那样你不能使用某些类型,所以你在服务器上创建了mappers等。我说将它们全部分开并传输基本类型。

然后我在我的网络和移动项目之间分享这个,并且可以自由地来回传递这些对象,我认为它的效果非常好。

您可能想要考虑的一件事是对您的模型进行版本控制,因为人们可能会保留较旧版本的程序(或者如果它们已经过时则停止服务)。

所以我可能有LoginModelV1,LoginModelV2等。在服务器上你可以选择接受两个功能或只接受最新功能。