实体框架删除DB InvalidOperationException

时间:2014-11-12 07:08:13

标签: c# entity-framework entity-framework-6

嘿伙计们,我似乎无法想出这个。有什么想法吗?

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

[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";

这会在调用时生成无效的操作异常,我不太清楚为什么。

  

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

1 个答案:

答案 0 :(得分:0)

我至少弄清楚如何解决我的问题。这似乎与将测试保存到本地计算机上的sql server CE数据库有关。

如果我在ACTUAL sql server实例上指向此函数,它可以正常工作。