Because you are using nullable object types you are going to need to do some casting and conversions to different types to get it done. Under normal circumstances you should be able to directly compare dates, but the nullable types play by different rules at runtime.