views:

715

answers:

2

My team uses a shared instance of Oracle for development using C#, NHibernate and ASP.NET, and we occasionally step on each others toes when making data or schema changes holding up everyone.

On another project I'm using Java and HSQL in 100% in-memory mode and just have Hibernate launch a script to import enough data to test with. It also creates and drops the schema. I considered using the same approach in .NET-land. With everything temporary and independent it would be impossible to step on each others toes, and we could still integrate our schema and data on the shared Oracle box.

I looked for HSQL on .NET and SharpHSQL seems to be a dead project (last release 2005).

Is there an active project equivalent to HSQL for .NET, or anything close enough to be used this way?

How have you got on using this approach in a team environment? Any issues?

How do you manage and version control data for populating the database? Is there a cross-platform solution for importing data?

+3  A: 

With something like Sqlite, you could take the same approach in your .NET applications as with your Java applications - creating the schema and populating test data via NHibernate schema export / NHibernate population code is a good way to manage this scenario (NHibernate works fine with Sqlite). If you chose to, you could potentially standardise on Sqlite with your Java applications too.

Steve Willcock
+1 I use Sqlite for testing and development at my job from Java and have used it from an ASP.NET environment as well. Works great.
Casey
A: 

See the HSQLDB.org web site. There is now a .NET implementation.

fredt