我终于开始考虑将微软.NET实体框架作为我的产品的数据库层。理想情况下,我将使用它坐在数据库和WCF的顶部,并被网站、富客户端和移动设备使用。
当前版本的EF是否支持跨平台客户端?如果我构建一个Mac应用程序,一个Linux应用程序,一个iPad应用程序,一个Android应用程序等等,它会工作吗?
它是开箱即用的,还是需要额外的编码来支持跨平台?如果支持,是否需要为其他客户端安装额外的footprint?
发布于 2011-07-19 07:47:09
在我公司的一个项目中,我们使用了MSSQL数据库、EF模型层和WCF层来服务于Classic ASP网站、MVC2网站和iPhone/iPad应用程序。答案很简单,EF会编译成.NET程序集,需要帮助才能跨平台。如果你通过一个标准的(一组)协议公开它,比如WCF,你可以很容易地使用它。否则,您将需要在基于每个平台的某种形式的互操作性代码中包装.NET程序集。
发布于 2011-07-19 07:46:17
不要在WCF服务之外公开任何特定于EF的实现,它将在非Windows客户端上工作得很好。
使用Plain Old CLR Objects ( POCO )作为这些服务的接口(如果您愿意,使用EF POCO生成器创建),而不是EF的默认基于EntityObject的域模型,以确保客户端不依赖EF。
发布于 2011-07-19 07:44:30
你可以在Windows上运行.net框架,也可以在Linux上运行Mono。
对于IPod、Andriod和其他移动设备,如果您使用WCF/REST与服务器通信,则不需要在移动设备上运行数据库层。
https://stackoverflow.com/questions/6740680
复制相似问题