【发布时间】:2009-08-19 12:14:04
【问题描述】:
这里是这样的场景:我有一系列不同的存储库类,每个类都可以使用隔离的数据上下文或共享的上下文。在使用隔离上下文的情况下,我想向基类添加一个方法,该方法允许我将 lambda 指定为参数,让该表达式由所选存储库的隔离上下文执行并返回 IQueryable 结果.方法签名的外观如何,以及如何将表达式传递给上下文?
我需要尽可能通用的解决方案,因为可以使用任何可能的模型对象/表。
这基本上是我想做的:
IAssetRepository repo = new AssetRepository(true); // true indicates isolated context
var results = repo.ExecuteInContext<SomeType>(SomeTable.Where(x =>
x.SomeProp.Equals(SomeValue)));
【问题讨论】: