0

我正在尝试对 VS 2010 中的解决方案运行一些单元测试,并尝试使用 SQLite 作为我的数据库。问题是我收到以下错误:

“测试方法 AECI.Clio.RecordableIncidentRate_Test.TestClass.QueryDataTest 抛出异常:System.Data.SQLite.SQLiteException:SQLite 错误没有这样的表:dbo.vDimIncident”

我已经使用我的 SQLBrowser 仔细检查了我的表是否在那里。我什至尝试将表的名称从 vDimIncident 更改为 dbo.vDimIncident 无济于事。

我不确定我做错了什么。这是我的错误跟踪:

System.Data.SQLite.SQLite3.Prepare(SQLiteConnection cnn, String strSql, SQLiteStatement previous, UInt32 timeoutMS, String& strRemain)
System.Data.SQLite.SQLiteCommand.BuildNextCommand()
System.Data.SQLite.SQLiteCommand.GetStatement(Int32 index)
System.Data.SQLite.SQLiteDataReader.NextResult()
System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
System.Data.SQLite.SQLiteCommand.ExecuteDbDataReader(CommandBehavior behavior)
System.Data.Common.DbCommand.ExecuteReader()
System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult)
System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries)
System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)
System.Data.Linq.DataQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
AECI.Clio.RecordableIncidentRate.Harvester.QueryData(HarvestTargetTimeRangeUTC ranges) in C:\tfsprod\AECI.Clio.RecordableIncidentRate\Harvester.cs: line 43
AECI.Clio.RecordableIncidentRate_Test.TestClass.HarvesterHandle.QueryDataTest(HarvestTargetTimeRangeUTC ranges) in C:\tfsprod\AECI.Clio.RecordableIncidentRate_Test\TestClass.cs: line 167
AECI.Clio.RecordableIncidentRate_Test.TestClass.QueryDataTest() in C:\tfsprod\AECI.Clio.RecordableIncidentRate_Test\TestClass.cs: line 54

我不确定这是否与任何事情有关,但这是我的连接字符串:

public void ConfigureHarvester(System.Configuration.Configuration configuration)
{
    context = new DataClassesDataContext(new System.Data.SQLite.SQLiteConnection(@"Data Source= C:\tfsprod\C#SQLite\Community.CsharpSqlite.shell\bin\Debug\test.db"));

}
4

1 回答 1

0

我想到了。我必须转到 dbml 文件,然后转到数据类的属性并删除“dbo”。从我的表名前面。我不知道这是否是你正确的做法,但它有效。

于 2012-06-27T18:30:18.237 回答