使用Linq-to-SQL我想预取一些数据。
1)常见的解决方案是处理 DataLoadOptions ,但在我的架构中它不起作用,因为:
2)我已经看到另一种可能性基于加载 数据及其子项在方法中,然后只返回数据(因此子项已经加载){ {3}}
尽管如此,在我的架构中,它无法发挥作用:
是的,这个架构很安静很复杂,但是因为我可以使用乐高这样的代码,所以非常酷!)
我的问题是:预取数据的其他可能性是什么?
答案 0 :(得分:1)
我不知道其他可能性,看起来你已经将LinqToSql推到极限(但我可能错了)。
我认为你现在最好的选择是:
答案 1 :(得分:1)
在我的应用程序中,我可能会对您的潜在解决方案#2使用一种变体。这有点难以解释,但很简单:我使用自定义lazy classes在我的模型中链接和延迟延迟加载,以便从我利用IQueryable
的LinqToSql特定的差异执行中抽象出来。优点:
IQueryable
结果(如果我愿意,甚至可以在UI中),从而允许无限的LINQ查询链接,而不必担心性能。答案 2 :(得分:0)
我找到了解决方案。 我的回答是'依赖注入'。
它通常与IOC一起发货,意味着您可以让您的IOC容器在实例化时管理类的注入。
我需要的是在实例化DC时注入 CustomDCParameter 类。 该类将包含规则,构造函数将应用所有规则。