markrendle/Simple.Data — pull request #98 by kppullin (2011-10-13 20:32:47+00:00)
Title: Changed the BinderHelper to detect IDictionary inputs

In this patch I changed the BinderHelper.ArgumentsToDictionary() method to detect when a single parameter of type ```IDictionary``` is provided and to return it unmodified.

The motivation for this change is to be able to call a stored procedure with a simple IDictionary<> generated by reflecting over the properties of a "Data Model" class, instead of having to type out each parameter name and value manually in the method call.

-----
Example:

Instead of:

```var blog = new Blog();
var comment = new Comment();
var db = Database.OpenConnection(connectionString);
db.UpdateBlogEntry(blogid: blog.BlogId, text: Blog.Text, ..., p50: blog.Parameter50, ..., pN)
db.UpdateComment(blogid: comment.BlogId, text: comment.Text, ..., p50: comment.Parameter50, ..., pN)
```

I can do:

```var blog = new Blog();
var comment = new Comment();
var db = Database.OpenConnection(connectionString);
db.UpdateBlogEntry(blog.ToIDictionaryFromPropertiesExtensionMethod());
db.UpdateComment(comment.ToIDictionaryFromPropertiesExtensionMethod());
```