使用Linq-to-SQL我想要预取一些数据。使用Linq-to-SQL,IOC和存储库模式预取数据
1)常见的解决方案是应对DataLoadOptions,但在我的建筑将无法正常工作,因为:
- 的选项具有第一查询
- 我前设置使用国际奥委会,所以我不直接实例化DataContext的(我不能instanciation执行代码)
- 我的DataContext是一个Web请求期间持续
2)我已经看到了另一种可能基于装载的数据及其孩子的的方法,那么仅返回数据(所以孩子已经装入)see an example here
然而,在我的建筑,它不能不行:
- 我的查询级联了我的仓库,并且可以通过许多服务消费将增加的条款
- 我用的接口工作,LINQ到SQL对象的具体情况不离开存储库(是的,你c与界面的工作,并增加条款)
- 我的仓库是通用
是的,这种架构是安静复杂,但它非常酷,因为我可以用乐高积木一样的代码打;)
我的问题是:什么是其他可能性预取数据?
谢谢,这是一个非常有趣的解决方案。它以数据对象为中心,我发现它更好。不幸的是,它不能回答我当前的需求,因为我的整个架构都基于延迟加载,并且提取的属性是例外!然而,我会尝试基于这种'以数据对象为中心'的写作方式创建一个FetchItem和FetchList ,因为我非常喜欢它。我正在考虑使用属性来自动生成我之前说过的'CustomDCParameter'类。如果我找到一个可接受的解决方案(当我有时间处理它时),我会分享。仍然听好的建议 –
Mose
2009-11-09 11:48:01
我想你可能会误解我 - 当你说'抓''你的意思是立即从数据库加载?而不是懒/加载延迟? – 2009-11-09 12:38:31