希望您能给我一些建议,非常感谢。
我已经使用EF 4.0一段时间了,使用以下对象上下文管理技术:http://dotnetslackers.com/articles/ado_net/Managing-Entity-Framework-ObjectContext-lifespan-and-scope-in-n-layered-ASP-NET-applications.aspx。我的设置相当简单,有一个Web项目连接到BLL连接到DAL。 Web和BLL引用DAL实体对象。它一直运行良好,但似乎速度很慢。这是一个使用现有数据库模型(即不是代码优先)并指向SQL Server 2005 DB的ASP.NET Webforms应用程序。
无论如何,由于我们在屏幕之间的性能方面遇到了投诉,我现在正在重新审视架构。我已经完成了大部分可能的UI增强,但我认为现在仅保存,重定向和使用EF进行加载就是缓慢的点。
该网站是一系列针对汽车保险的报价页面。我现在希望在会话中创建相关对象,即第1页创建报价对象,填充字段,第2页添加X个附加驾驶员,第3页添加索赔/定罪,然后将对象保存到数据库中。用户可以在报价过程中的任何时候保存并退出,因此保存的位置不总是在最后。我们还需要能够加载第1页的信息,并在单击下一页时在内存中更新它,最后在准备完成报价时更新DB。
目前,我们正在同一页上进行检索和保存。您会如何建议我们转移到会话/最终提交中?
我已经浏览了各种msdn页面,但我很难将它们全部整合到这个相当简单的应用程序的最新“最佳实践”中。我看过Julie Lerman的视频,但她的n'tier只做了简单的检索和“添加”,可疑地省略了更新部分,因为我认为它并不简单。您认为我应该使用Self Tracking Entities(我已经阅读过人们遇到多个问题,但也许他们的架构更复杂?)或其他一些方法将EF对象存储在会话中并进行更改。
非常感谢您提供的帮助/想法。