nob*_*bba 5 c# wcf entity-framework self-tracking-entities
阅读有关EF 5.0和n层解决方案的msdn信息,请参阅链接,似乎MS不推荐使用STE,并且不建议使用POCO/DTO方式,因为它很难说.
并非所有(可能不是很多?)应用程序都适合使用WCF数据服务.那么走的路是什么?我的场景是一个当前的大型服务器(WebServices)应用程序,有许多客户端(只有我们自己的),主要是WinForms.今天,DataSet用于发送数据并跟踪对SQL Server数据库的更改.
我们现在开始用WCF替换WebServices,并且还在考虑使用实体框架.我们不需要代码或迁移,因为我们已经有了数据库,并且有许多存储过程将被重用.由于我们对客户不是我们自己的任何问题,STE似乎是一个不错的选择,但我们不想开始使用EF团队显然不再推荐的东西了.POCO/DTO也是一种替代方案,尤其是对客户的明确分离.我知道CUD还有更多的工作要做,但是建议是远离它是如此困难,然后我不知道我们是否想走这条路.
然后,根据建议我们应该使用WCF数据服务或Web API,但这实际上不是基于操作的服务的替代方案,需要灵活的协议/格式等.
所以我的问题是,今天最佳做法是什么?
我认为这个想法是更普遍地转向更轻量级的 pocos/dtos,并在 DAL 中保留所有持久性逻辑或实现。自我跟踪实体在某种程度上会流失一些实现并充实您的实体。您获得了便利,但失去了灵活性,因为愚蠢的 dto 可以轻松传递,几乎不会出现意外。
当然,另一方面是您需要在 dal 中做更多工作来跟踪上下文,并且需要在 BLL 和 UI 中做更多工作来处理填充/映射 dto。
我个人更喜欢灵活性而不是便利性,这似乎是事情的总体发展方式。
| 归档时间: |
|
| 查看次数: |
2168 次 |
| 最近记录: |