我们正在开始一个新的基于Web的产品,我们计划通过WCF服务公开我们的业务逻辑。我们将使用ASP.NET 4.0,C#,EF 4.0。将来我们希望基于这些服务构建iphone应用程序和WPF应用程序。我一直在阅读很多关于使用POCO和自我追踪实体(STE)的内容,据我所知,STEs在网络方案中效果不佳。任何人都能更清楚地了解这个问题吗?
答案 0 :(得分:36)
答案 1 :(得分:7)
自我跟踪实体在具有WCF场景的MVC Web中完美运行。我参与了两个使用它们的项目(一个在生产中,一个在差不多)。
使用POCO,您将失去对线路的任何更改跟踪,这会造成很多额外的痛苦,因为EF现在必须重新查询状态信息。如果您使用EF和WCF STE解决了很多问题并使整个持久性管道变得非常流畅。
您可以为此声明提供引用吗? “STE不适合网络场景”
答案 2 :(得分:3)
请参阅http://msdn.microsoft.com/en-us/data/jj613924.aspx,因为不再推荐使用STE! Microsoft建议使用任何ASP.NET Web API,WCF数据服务或实体框架API(复杂操作)
答案 3 :(得分:2)
如果此服务将由您无法直接控制的任何应用程序使用,您可能会强烈考虑与您的服务中的EF(或nHibernate或Linq2Sql或任何其他数据持久性管理解决方案)进行任何分离和您的数据传输对象。这将使内部更改与破坏客户端隔离开来。打破客户通常是件坏事。