private static void GenerateData(ISessionFactory factory, Type entityClass, IGeometryCreator creator) { using (ISession session = factory.OpenSession()) { using (ITransaction tx = session.BeginTransaction()) { try { for (int i = 0; i < GeneratedRowsPerEntityCount; i++) { IGeometry geom = creator.Create(); geom.SRID = 4326; object entity = Activator.CreateInstance(entityClass, i, "feature " + i, geom); session.Save(entity); } } catch (Exception e) { throw new ApplicationException("Failed loading data of type " + entityClass.Name, e); } tx.Commit(); } } }