SubSonic 3 のソースの修正に時間を費やす前に、何か単純なものが欠けているかどうかを確認するように依頼することにしました。
SubSonic 3 リポジトリを SQLite インメモリ データベースでの移行に使用することはできますか? 接続が閉じられたときにインメモリ SQLite データベースが消えないように、DbDataProvider に強制的に接続を開いたままにする方法が見つかりませんでした。
私が試していた接続文字列を使用した単体テストは...
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 のソースを更新し、変更を送信します。
ありがとう!