-
With growing popularity of MongoDB grows the variety of tools and technologies that expose data stored in MongoDB databases. Since I am using both MongoDB and OData in my projects, I decided to cross them and enable exposure MongoDB collections as OData feeds. So I started a project MongOData hosted...
-
In the post where I introduced Simple.Data OData adapter I showed a few examples of retrieving single or multiple entities. What was common with those examples is that they presented technique to read just the requested resource type, even though there in can be useful to read associated entities at...
-
Mark Rendle’s Simple.Data has quickly become a popular choice to retrieve data from various data sources. The number of Simple.Data providers includes today SQL Server, Oracle, Mysql, MongoDB and others. When I saw Simple.Data in action, I became enthusiastic about extending its list of providers with...
-
In a previous post , I talked about the specification pattern. In the last sentence I promised you to keep you posted on the next version of the implementation. I still owe you guys that result. So without further ado: Download it here . The implementation itself is pretty straightforward. The class...
-
About a year ago I blogged about different methods of object instantiation and that compiled lambda expressions should be preferred in case same type is instantiated frequently and instantiation performance is critical. However, on many occasions dealing with expression compilation is not worth it, and...
-
SpecFlow has an excellent set of Table extension methods contributed by Darren Cauthon (he also made a video available on TekPub ). Methods such as CreateInstance, CreateSet or CompareSet enable conversion of SpecFlow tables to strong-typed item collections and comparing tables to IEnumerable generic...
-
As part of a kiosk application written in WPF, the client wanted 'Swipe'-like functionality similar to many touch-enabled smartphones. It's actually not that hard in .NET 4 and WPF. First, add a property to your page/control that keeps track of the Touch that the user has initiated to start...
-
Yesterday I participated in a discussion about how to test the following class (it was actually an interview question). Here’s the class under test: public class ClassUnderTest { private SomeService service; public ClassUnderTest(SomeService service) { this.service = service; } public void Foo(int fooInput...
-
Getting mock framework API rigth is uneasy task. Mock framework designers don’t have as much freedom as designers of other libraries: the purpose of a mock framework is not to expose an arbitraty API (unknown at the time of mock framework design) and intercept it in a transarent way, so developers can...
-
If you search for “The invoked member is not supported in a dynamic assembly” error message, you will get plenty of results. Some of them related to code that worked in .NET 2.0 and 3.x but suddenly stopped working in .NET 4.0. What may be surprising is that this error comes from the places that have...
-
Introduction Imagine you need to architect a multitier, distributed .NET-based app with three logical layers—presentation and interface services, business logic with core functionalities, and data access, where all database stuff and messaging happens. For this type of application, layering is...
-
I wanted to configure version information generation for some .NET projects. It’s been a long time since I investigated available options, so I searched around hoping to find some simple way of doing this. What I’ve found didn’t look very encouraging: people write Visual Studio add-ins and custom MsBuild...
-
I am currently working on a next version of a utility to generate Visual Studio solutions . A new version will be called Solution Maker and add user interface support to a command line option. I wanted to mix console and GUI mode in a single program, but strictly speaking this is impossible. A program...
-
For a long time I’ve been under impression that rule engine that comes with Microsoft Windows Workflow Foundation is slow, very slow. We used it to execute some of our business rules, and soon found out that rule processing slows down application execution. What was strange is that the rules were really...
-
Every year I do a blogpost around the sessions that I recommend for the Microsoft Developer Days in The Netherlands. I don't think I will be able to attend the event this year, but I will definitely watch some of the videos afterwards. This would be my agenda: Tuesday March 30: The key-note(9.15...