When using Linq on your Entity Framework objects, you often need to distinct your query results. Therefore you need to implement an IEqualityComparer for the more advance scenario's. For example if you want to distinct on a specific property, or maybe on multiple properties. However this forces you to write lots of infrastructure code to distinct each type.
You probably would end up with several equality compare classes like this.
However there is a solution which will save you the work to write all these classes. You will have to write only two classes. One will contain some extension methods, the other is a DelegateEqualityComparer.
Now you can simply distinct your query by providing a lambda. I tried it on IQueryable, but this doesn't work. Linq will generate some SQL to do the actual query. We didn't specified any code that can translate the equality comparer to SQL. If someone figures out how to make it work with IQueryable please let me know.
Share this article if you found it useful.
You have disabled cookies. To leave me a comment please allow cookies at functionality level.
This is the fourth time I installed Windows 8. This time I installed it on my personal notebook instead of a VHD, because Windows 8 is finally ready to market. So I started with downloading the enterprise edition from my MSDN subscription. Unfortunately my USB drive died so I had no storage large enough to put the image on and boot from. So I started thinking to install it over the network. Luckily me I still had my rusty 10 year old 256MB USB drive which perfectly fits a Windows PE image. So I…
When building a big web application with ASP.NET MVC 3 I ran into a problem to secure my web application in a maintainable way. There are lots of examples with attributes, but this isn't maintainable. So I started searching for other solutions, however most of the information is leaning on those un-maintainable attributes I finally found "Fluent Security".
What does Fluent Security offer you?
Fluent Security provides a fluent interface for configuring security in ASP.NET MVC. No attributes or…
In a previous blog post I explained to you how to install Windows 8 developer preview on vhd, so you can boot from your vhd. Since there have changed a few small things I just add an updated manual below. The installation will take about 30 minutes.
Step 0
Make sure you have at least 40Gb of free disk space for your vhd. Make sure you're running Windows 7.
Step 1
Download the Windows 8 consumer preview.
Download the Windows 7 USB/DVD tool to make yourself a bootable usb stick.
Use the tool…
During the last year I learned and read a lot about convincing people. In this article I want to share some tricks to apply it yourself. Oh, its my first non technical article. So this will be a milestone for myself :D.
It isn't always as easy to convince someone. Some people just manage to get more things done as others. A part of your skills to convince someone is in your own personality. To convince someone you have to be powerful, special and kind. This means you need to know where you're t…