我想使用连接到SQL Server 2008的EF 4.0/4.1执行项目的“快速集成”(又名“桌面集成”)测试。这意味着我需要用更轻量级的东西替换SQL Server 2008上的依赖。我希望在mstest或mbunit中执行时交换SQL CE 4.0。实体框架,SQL CE 4.0和数据库测试自动化
我已经确定了如何转换EDMX文件以使其与SQL CE 4.0兼容。我的意图是从我的mstest或mbunit项目中的预生成事件中为CE使用生成EDMX。但是我需要知道的是,我如何说服EF使用我的新生成的EDMX文件,从我的测试项目中,而不是生产EDMX文件?我认为这不像改变连接字符串那么简单。
我怀疑EDMX文件作为资源嵌入到构建的程序集中,所以也许这个问题是关于如何在资源被编译到DLL之前交换资源。但是,如果我错误地回答这个问题,我只想指导如何实现我的目标。
如果您的SQL CE或SQLExpress本地mdb具有相同的生产模式,为什么您不能继续使用生产实体,只需将连接字符串替换为指向mdb而不是SQL Server?把事情简单化。 – nithins
@nithins:SQL CE有限制(例如它只有unicode,所以没有'varchar'类型)需要EDMX文件的转换。 –
SQLExpress功能更强大,而且仍然轻巧。 – nithins