In my previous post, I explained how I went about starting with RavenDB. Now I want to continue my switch from NHibernate to RavenDB. The GetAll method was fairly simple. I also have a GetOneById method in my BaseRepository, but, as I’m not using it right now, I decided to remove it (YAGNI you know). Then, I changed the my BaseRepository to enforce the T to be a BaseEntity: public class BaseRepository<T> : IBaseRepository<T> where T : BaseEntity I thought

The application I’m writing isn’t in a very far stadium yet, but I do have some implementation of repositories using NHibernate. Now I want to switch to RavenDB. So I downloaded RavenDB (the latest build at this time – build 81) and unzipped it. I wanted to follow the RavenDB Hello World tutorial, but soon found out its built for .NET 4. I don’t have .NET 4 or Visual Studio 2010 yet, but luckily there’s a client for .NET 3.5.

I’m developing a stand-alone client application that will be able to store a fair amount of data. No client-server stuff, just plain old open-the-application-change-the-data-save-close. I need a good way to store the data and, traditionally, developers look at SQL databases for data storage. But I’m thinking this will make it overly complex. A search for alternatives starts. The application is for the administration of a speech therapist. It should have the patients, appointments, documents, etc. But also more complex business

Using xsl-fo to generate PDFs, and you want to display the **pagenumbers **like ‘page 3 of 10’? It isn’t too hard. Just add this to the footer of your pages: Page fo:page-number of <fo:page-number-citation id=”last-page”></fo:page-number-citation></fo:page-number> Then, make sure you have the following at the end of your document (so, on the last page): <fo:block id=”last-page”></fo:block>  

Okay, I finally got Git to work. Here’s the necessary steps, after having installed msysgit and TortoiseGit. First, create the local repository. You’ll get a notification that an empty repository was created. You can now use the repository to track your changes. But of course, you want to push this stuff to a server, as backup, because other people will collaborate on your project, etc. I’m using Unfuddle so I’ll concentrate on that (check out Git for Windows Developers for

Git can be quite confusing in the beginning, especially coming from a subversion background. But once you’ve got it running, you realize it’s quite easy:install msysgitoptionally install something like TortoiseGitnow you need to create an SSH key, which is explained on the TortoiseGit site for Linux, but for Windows, it’s a little harder:open command prompt and navigate to where msysgit is installedenter the following command: ssh-keygen.exe -t rsa(use /? to see more info)enter your passphrase and the location to save

Looking for **a good F# tutorial **to figure out what the hype is all about? Check out the excellent F# series on Kevin Hazzard’s blog. Maybe a little out-dated when you’re using the September 2008 CTP of F# (there’s no add-in anymore, and the command mentioned in part 2 has a different name – just search for ‘send’), but finally a tutorial that explains it step by step.

WPF creates a whole new range of possibilities, but you can often run into trouble when trying to combine it with NHibernate. NHibernate can’t handle ObservableCollections*, which is a quite handy feature of WPF. Furthermore, what to do with the good databinding capabilities of WPF?Shawn Duggan provides a nice solution using the **Model-View-ViewModel **pattern here. Check out this recent article by Josh Smith for a good introduction of the MVVM design pattern (with an easy-to-follow example). it is possible to

There’s lots of information out there on how to create a virtual directory in IIS with adsutil.vbs. But when you need an application, like for an ASP.NET website, you need one more step which I had some trouble finding. Adsutil.vbs is a script to manage IIS from the commandline. If you’re using IIS6 you can use other scripts like iisvdir.vbs and iisweb.vbs. But for IIS5, these aren’t available, so you have to use adsutil.vbs instead. Here’s the three commands necessary: