.NET实体框架 - 它是否支持跨平台客户端?

时间:2011-07-18 23:35:10

标签: .net entity-framework entity-framework-4 cross-platform

我[最终]开始将Microsoft .NET Entity Framework视为我产品的数据库层。理想情况下,我将使用它来坐在数据库和WCF之上,并由网站和富客户端以及移动设备使用。

当前版本的EF是否支持跨平台客户端?如果我构建一个Mac应用程序,一个Linux应用程序,一个iPad应用程序,Android应用程序等,它会工作吗?

它开箱即用,还是需要额外的编码来支持跨平台?如果支持,是否需要为其他客户端安装额外的占用空间?

4 个答案:

答案 0 :(得分:3)

对于我公司的一个项目,我们在顶部使用MSSQL数据库,EF模型层和WCF层来为经典ASP网站提供服务(ewwww;(,MVC2网站和iPhone / iPad应用程序。)答案是EF将编译成.NET程序集并需要帮助才能跨平台。如果你通过标准(一组)协议(如WCF)公开它,你可以轻松使用它。否则你将需要包装.NET程序集,基于每个平台,以某种形式的互操作性代码。

答案 1 :(得分:2)

不要在WCF服务之外公开任何特定于EF的实现,并且它对非Windows客户端也能正常工作。

使用普通的旧CLR对象(PO​​CO)作为这些服务的接口(如果您愿意,使用EF POCO Generator创建),而不是EF的默认基于EntityObject的域模型,以确保没有客户端对EF的依赖。

答案 2 :(得分:1)

它适用于运行Windows上的.net框架和使用Mono的Linux。

对于IPod,Andriod和其他移动设备,如果您使用WCF / REST与服务器通信,则无需在mobil设备上运行数据库层。

答案 3 :(得分:0)

您只需要服务器部分来支持EF,它可能需要.Net运行时支持。然后,您将通过OData等标准协议公开您的数据。对于您的客户,您将与协议进行通信。