【问题标题】:Mocking Entity Context in EF4在 EF4 中模拟实体上下文
【发布时间】:2010-12-19 15:24:03
【问题描述】:

我正在使用 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.TxModesObjectSet&lt;TxMode&gt; 类型的属性,而我试图返回IObjectSet&lt;TxMode&gt; 并且我得到以下编译错误:

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

知道如何编译它吗?

【问题讨论】:

    标签: mocking entity-framework-4


    【解决方案1】:

    你不能这样做。 查看 Julie Lerman 的系列帖子

    1. Agile Entity Framework 4 Repository: Part 1- Model and POCO Classes
    2. Agile Entity Framework 4 Repository: Part 2- The Repository
    3. Agile EF4 Repository: Part 3 -Fine Tuning the Repository
    4. Agile EF 4 Repositories Part 4: Compiled LINQ Queries
    5. Agile Entity Framework 4 Repository Part 5: IObjectSet and Include

    她很好地解释了如何使用 EF4 构建存储库模式以让您模拟它。 还有 T4 模板,但这会让您了解所有这些是如何工作的。 如果没有经过改编的 T4 模板,要让它运行起来仍然需要做很多工作, 但我觉得这是一个很好的练习。 :) 事实上,我现在正在自己实施它。

    祝你好运;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-09
      • 1970-01-01
      • 2018-05-13
      • 2018-04-12
      • 2016-12-20
      • 1970-01-01
      • 2015-05-24
      • 2011-07-21
      相关资源
      最近更新 更多