目前我在this blog的C#中使用存储库模式。可以找到项目代码here。
现在一切似乎都有效,但我的项目中有一个实体数据模型(.edmx),我想用这个代码。
目前我已经有了这段代码:
public UnitTest1()
{
ObjectContextManager.InitStorage(new SimpleObjectContextStorage());
ObjectContextManager.Init("TraceDb", new[] { "Infrastructure.Test" });
repository = new GenericRepository();
}
但这似乎不起作用,请注意.edmx的schema命名空间是“Trace.DAO.Entity”。但是对于“Infrastructure.Test”,这是.edmx的.Designer.cs的命名空间,测试也无法正常运行。
聚苯乙烯。这是我得到的错误:
TestMethod1 Infrastructure.Test失败无法创建类Infrastructure.Test.UnitTest1的实例。错误:System.ArgumentException:找不到映射类!
任何人都有我的问题的解决方案或知道如何使用.edmx与此源代码?
答案 0 :(得分:1)
该代码不适用于EDMX,因为它使用完全不同的方法。您必须修改该基础结构代码以支持EDMX中的映射。基础结构需要流畅的配置类,但这仅适用于代码优先映射。 EDMX正在映射自己。