Search code examples
asp.net-mvcdatabaseappharbor

ASP.NET MVC - Alternatives to databases


I thought about splitting this up, but i think it's better as one big question. Here it goes. :-)

Warning: this question is in-depth. :-)

I've been working with ASP.NET for a little while now. Just a few days ago, after watching a course on MVC at Pluralsight, i decided to try it out. Development was amazing and very easy, especially with the Entity Framework 4.1. As i searched around for deployment options, i found AppHarbor. Unfortunately, i ran into some problems. See, i can't just magically port my databases over with the git commit AppHarbor requires. The problem is, I've never really worked with databases - they've always just worked automagically. I'm scared stiff of connection strings and the like. I managed to get a database set up on AppHarbor for the ASP.NET Membership stuff (I still need to figure out how to copy over the data and schemas, but i'll figure that out :-)) but i'm clueless on what to do about the Entity Framework SQL Server Compact database, which i'm using to store blog posts and comments. Problems:

  1. It's not working - MVC/EntityFramwork/Whatever-Is-Automagically-Working-Behind-The-Scenes isn't firing up a new database or whatever
  2. AppHarbor only allows 1 database (for the free version)

Potential Solutions?

  1. Combine the databases. I have no idea how to do this or how i would keep the EntityFramework's Auto-Magic working.
  2. Adopt a non-database solution for the posts/comments. I realize databases are incredibly more efficient as there's a sort of interface between the literal file and the programs accesing it, so you don't have file locking and stuff. So what would be the best alternative?

My Question

What's the best way to handle this situation? Not just this particular situation, but the general situation of "crap-i-hate-databases"?

Ways to answer:

  1. Recommending that i learn about databases: fine, but please provide some good resources.
  2. Giving a non-database alternative: awesome.
  3. Explaining what i need to do to get this all working on AppHarbor (but more generally any deploy server): ideal. I may even set up a bounty just to award it

Thanks so much in advance; I realize this is a deepish question and the rep garnered may not be worth it. Please let me know if i need to provide any more information.


Solution

  • You may consider checking out a document database like Raven DB.