实体框架删除数据库InvalidOperationException

本文关键字:InvalidOperationException 数据库 删除 框架 实体 | 更新日期: 2023-09-27 18:30:02

嘿,伙计们,我好像搞不懂这个。有什么想法吗?

在我的项目中,我试图使用EF6作为CRUD的方法。当我为数据访问部分进行单元测试时,我会删除一个SQLServercompactDB并从头开始创建它,以确保测试干净。我正在使用以下代码。

[SetUp]
public void Setup()
{
     //instantiate the test db that we will use to run persistence testing.
     Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0");
     context = new RTBComicsDataContext(GetTestDbName());
     context.Database.Delete();
     context.Database.Create();
}

上面看到的测试DB名称函数返回以下内容:

"Data Source=" +(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)) + @"''RTB.Data.Tests.Db.sdf;Persist Security Info=False";

这会在调用时生成一个无效操作异常,我不太确定原因。

内部异常消息:序列不包含匹配元素

实体框架删除数据库InvalidOperationException

我至少找到了解决问题的方法。这似乎与将测试保存到本地机器上的sql server CE数据库有关。

如果我把这个函数指向一个实际的sql服务器实例,它就可以正常工作。

相关文章:
  • 没有找到相关文章