If you are using .NET 2.0 you can use the DateTime? (Nullable DateTime) type in your entities.
What I do is have a Specification that I initialize my entity values with
Code:
public class DateTimeSpecification
{
public static DateTime UNSPECIFIED_MIN = new DateTime(1800,1,1).Date;
public static DateTime UNSPECIFIED_MAX = new DateTime(2999,12,31).Date;
}
Since DateTime is a valueobject (struct) those are the only options I have come up with when dealing with the disparity between SQL DateTime limits and .NET.
Hope this helps
MIKE