Thoughts from the Wet Coast
The musings of an ASP.NET Developer from Canada's We(s)t Coast
In my previous post in this series on NoSQL Databases, I showed how RavenDB embedded could be added to an existing ASP.NET MVC 3 application using NuGet and how it can be configured to use a folder in the App_Data folder.
In this blog I will add the code needed for my TaskController class to use RavenDB to store its data.
In my continuing series on NoSQL Databases I have been mainly describing some of the concepts behind NoSQL (and in particular Document) Databases. In this post I will start to dive into some code.
As mentioned earlier I will be using RavenDB as this is a .NET friendly database.
As my frequent readers would have noticed already, I have been diving into NoSQL databases recently – in particular Document Databases. But why do we need NoSQL databases in the first place. Surely the relational databases we have been using work fine – in fact they work very well in most situations.
The problem with them is they don’t always scale very well – and when I mean scale, I mean scale really big – across multiple nodes in a cluster. I alluded to this in the first post in this series, but as an aside I have decided to explore why in further detail in this post.
In my continuing research into NoSQL databases I needed to find a database to work with. As a .NET developer I was immediately drawn to RavenDB – a Document Database written in .NET by Ayende Rahien of NHibernate and Rhino Mocks fame.
A week or so ago the topic of NoSQL databases came up at a discussion at work, so I decided it was time I learnt about this topic.
A few days ago Julie Lerman (@julielerman) tweeted that she had published an article in MSDN Magazine on Document Databases (one of the major types of NoSQL databases) and reading that article started me on my research.
Most .NET developers, whether we work on the Web with ASP.NET Web-Forms or MVC, on Windows Phone or in the browser with Silverlight, or on the desktop with WPF have worked with some form of Database.
We are for the most part familiar with SQL Server, MySQL or Oracle Relational Database Management Systems (RDBMSs) – and we are used to writing database schemas and database code using some variety of SQL.
A few months ago I blogged about my plans to create a Windows Phone application based on my Family Tree Research hobby.
Well after a 5 month delay I finally submitted the first version of the application to the Windows Phone Marketplace today. I have made a few changes since my initial Blog Post. The most obvious change is that I added support for multiple GEDCOM files. The reason for this change was mainly for performance reasons.
Regular readers of this blog will realize that, in addition to my interest in .NET programming, I am also an amateur genealogist.
Many times, over the last few years I have tried to combine the two – which is demonstrated by a codeplex project I created a couple of years ago. However, work, family and my inability to stick to a plan have gotten in the way of completing something usable.
My Samsung Focus finally arrived a couple of weeks ago (see Windows Phone 7 – Where are you?), now I am just waiting for my Developer Registration to be approved so I can “Developer Unlock” the phone.
As a .NET developer the cool thing about the Windows Phone 7 platform is that it uses a programming paradigm that I am familiar with. Regular applications for the phone are built in Silverlight while games are built with the XNA Framework, both of which are part of the .NET Framework.
On Monday, we launched the Razor DotNetNuke Hackathon with a meeting of SEADUG (Seattle DotNetNuke User Group) held at Microsoft offices in beautiful downtown Bellevue.
For those of you proposing to write Razor “scripts” as part of the Hackathon, I have decided to write a series of short Tips and Tricks.
In this third post I will cover a couple of caveats when using Razor scripts in the DotNetNuke context.
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.