如何在Fluent NHibernate + SQLite中使用批处理

时间:2012-07-12 15:17:56

标签: sqlite nhibernate fluent-nhibernate batch-processing

有人尝试使用Fluent NHibernate与SQLite配对启用批处理支持吗?我试过了

Fluently.Configure()
.Database(SQLiteConfiguration.Standard
.UsingFile(CreateOrGetDataFile()).AdoNetBatchSize(128))
.Mappings( 
m => m.FluentMappings.AddFromAssembly(Assembly.Load("Sauron.Core"))
.Conventions.Add(PrimaryKey.Name.Is(p => "Id"), ForeignKey.EndsWith("Id")))
.BuildSessionFactory();

但没有用。

我也尝试在ISession和IStatelessSession上设置批量大小,但我得到例外,说批处理被禁用。

2 个答案:

答案 0 :(得分:0)

您使用的是哪种ID生成策略?服务器生成的(标识,序列)不允许批处理。

答案 1 :(得分:0)

SQLite尚不支持批处理。它仅适用于SQLServer和Oracle。

但是,您不一定要等到这一点。您可以实施IBatcherFactoryIBatcher