在我花时间修改 SubSonic 3 源之前,我想我想看看我是否遗漏了一些简单的东西。
是否可以在 SQLite In-Memory 数据库上使用 SubSonic 3 存储库进行迁移?我找不到强制 DbDataProvider 保持连接打开的方法,因此当连接关闭时 In-Memory SQLite 数据库不会消失。
我正在尝试的连接字符串的单元测试是......
public class SQLite_InMemory_SimpleRepositoryTests
{
public class Job
{
public Guid JobId { get; set; }
public string JobName { get; set; }
}
[Fact]
public void SQLite_InMemory_SimpleRepo_CanStayOpen()
{
IDataProvider provider = ProviderFactory.GetProvider("Data Source=:memory:;Version=3;New=True;Pooling=True;Max Pool Size=1;", "System.Data.SQLite");
IRepository repository = new SimpleRepository(provider, SimpleRepositoryOptions.RunMigrations);
for (int i = 0; i < 10000; i++)
{
var job = new Job {JobId = Guid.NewGuid(), JobName = "Job_"+i};
repository.Add(job);
}
}
}
我尝试在 IDataProvider 上设置“共享连接”,但连接似乎仍然关闭。
如果没有,我将更新 SubSonic 源并提交更改。
谢谢!