我正在使用VS2010 B2和EF4 B2并尝试使用Rhino Mocks来模拟EEF生成的实体上下文。
var context = MockRepository.GenerateMock<SomeDBEntities>();
IObjectSet<TxMode> objectSet = new List<TxMode> { mode }.AsObjectSet();
context.Expect(c => c.TxModes).Return(objectSet);
问题是c.TxModes
是ObjectSet<TxMode>
类型的属性,而我正在尝试返回IObjectSet<TxMode>
,我收到以下编译错误:
Error 4 The best overloaded method match for
'Rhino.Mocks.Interfaces.IMethodOptions<System.Data.Objects.ObjectSet
<Data.Entities.TxMode>>.Return(System.Data.Objects.ObjectSet
<Data.Entities.TxMode>)' has some invalid arguments.
AsObjectSet扩展方法来自here。
知道如何编译这个吗?
答案 0 :(得分:4)
你不能这样做。 看看Julie Lerman的帖子系列
她非常好地解释了如何使用EF4构建存储库模式以让您模拟它。 还有T4模板,但这将让你了解这一切是如何工作的。 没有经过改编的T4模板,启动和运行它仍然需要做很多工作, 但我发现这是一个非常好的运动。 :) 我现在正在自己实施它。
祝你好运;)