【发布时间】:2014-01-21 10:24:41
【问题描述】:
我首先使用存储库模式在我的数据层中使用实体框架代码。我目前正在设计我的 WCF Web 服务以连接到数据层,我只是对如何连接到数据层有点困惑。
在我的数据层测试项目中,我为每个测试创建一个新的 DbContext 类,将其包装在 using 块中,在其中创建存储库类,将上下文作为构造函数参数传递。然后我可以在存储库上调用我的方法来取回数据。
这对于开始是否正确,然后我是否在 WCF 服务方法中也这样做?
我会不会有
public class UserService : IUserService
{
public bool CheckEmailAvailability(string email)
{
try
{
using (var context = new MyDbContext())
{
var repository = new UserDataRepository(context);
var emailAvailable =
repository.GetItems().Count(
u => u.EmailAddress.Equals(email, StringComparison.InvariantCultureIgnoreCase)) == 0;
return emailAvailable;
}
}
}
}
还是我使用的上下文/存储库概念错了?
我还觉得在这里使用 DI 会很方便,这样我就可以在 WCF 服务测试项目中模拟数据上下文/存储库对象。这是通常做的事情吗?如果是这样,有没有人有任何关于这方面的示例或教程的链接?
【问题讨论】:
标签: c# wcf entity-framework testing mocking