我正在构建一个使用c#、linq和sql server的winforms/asp.net应用程序,访问数据库。我希望我的业务逻辑层易于测试,这意味着不要在其中到处散布Linq数据库查询。以下是针对以下用例的可用设计模式/最佳实践: - 插入/更新新对象 - 搜索对象 - 将大量相关数据加载到一种“演示”对象中,该对象可以由各种视图显示?
我正在构建一个使用c#、linq和sql server的winforms/asp.net应用程序,访问数据库。我希望我的业务逻辑层易于测试,这意味着不要在其中到处散布Linq数据库查询。以下是针对以下用例的可用设计模式/最佳实践: - 插入/更新新对象 - 搜索对象 - 将大量相关数据加载到一种“演示”对象中,该对象可以由各种视图显示?
我建议观看有关服务/存储库/过滤器的视频课程http://www.asp.net/mvc/videos#ASP.NET%20MVC%20Storefront%20Starter%20Kit第1-3部分。这是一个不错的解决方案。
考虑将数据库调用放入实现公共接口的一组类中(存储库模式是常用的方式之一)。然后在运行测试时,您可以模拟这些对象。只需确保存储库本身也在某个地方进行了测试 :)