我的团队目前有一个运行在PC上的WPF应用程序。它利用实体框架6和仓库/工作单元模式,与Azure进行数据库存储的对话。
我们目前为300多个客户提供服务。但是,我们希望扩大应用程序的覆盖范围,并向移动设备过渡。我们的目标是利用Xamarin来完成所有跨平台的工作,并且仍然保留我们所有的C#逻辑。首先是通用Windows平台,然后是苹果或Android,但最终都是如此。
我的问题是:为了支持跨平台,我们是否需要转换为基于Web的数据库调用?有什么理由让我们远离实体框架吗?对于我们将要做的活动来说,它是不是不那么安全/不可靠?我们能否至少保留通用Windows平台的实体框架?
我遇到的大多数跨平台开发人员都不是C#开发人员,所以他们总是说你必须拥有web,但我有点不知道为什么。
发布于 2017-01-24 23:07:06
我们是否需要转换到基于Web的对数据库的调用以支持跨平台?
是。
原因如下:您将需要一个通用的、支持web的API来与您的三个前端对话。实体框架不会在Internet上对您的DB服务器执行查询。
有什么理由让我们远离实体框架吗?
不是的。您可以使用它来构建Web。如果你愿意的话,你甚至可以保留你的仓库/工作单元层。以下是您的体系结构在概念上的样子:
DB <--> Entity Framework <--> Repository/UOW <--> Web API Endpoint <==> Frontend
^
JSON over Internet发布于 2017-01-25 00:00:49
当您通过EF从本地数据库通过WebAPI从本地数据库移动到远程数据库时,您还需要重新考虑数据访问调用。与数据库服务器的10 to连接相比,移动数据非常不可靠,而且速度通常较慢,因此您通常希望少一些聊天,同时也要更加简洁。
https://softwareengineering.stackexchange.com/questions/340845
复制相似问题