Dismiss
Announcing Stack Overflow Documentation

We started with Q&A. Technical documentation is next, and we need your help.

Whether you're a beginner or an experienced developer, you can contribute.

Sign up and start helping → Learn more about Documentation →

I'm mapping a very simple Users table, and i have a column named 'LastLoginDate' which is defined as nullable in sql server.

My mapping looks like this :

public Users {
    Id(x => x.UserId);
    Map(x => x.UserName);
    ...
    ...
    Map(x => x.LastLoginDate).Nullable();
}

But everytime I try to save this entity programatically, i always get the SqlDateTime overflow exception. If i try to enter a manual sql statement with 'null' in this column it works. If i comment out just this property, it will work as well.

What can be the problem ???

Thanks in advance!

share|improve this question
up vote 11 down vote accepted

Your entity should look like this:

public class User
{
   public virtual DateTime? LastLoginDate {get;set;}
   // etc
}

Then, your map should work properly.

edit: The ? after DateTime specifies that it is Nullable, and is a short form for Nullable<DateTime>. If this isn't the cause of your error, you may want to check that Fluently.Configure specifies the correct version of SqlServer.

share|improve this answer
    
WOW, i feel so stupid now!... Sometimes it's so hard to see that you forgot something so trivial and small :) Thanks! – gillyb Apr 24 '10 at 21:46
    
No problem, I do it all the time. Sometimes you just need a second pair of eyes. – Jim Schubert Apr 24 '10 at 21:52
    
I'm having exactly the same problem, but making DateTime nullable simply isn't working for me. Not sure what could be wrong. – jonathanconway Jun 19 '11 at 9:38
    
I'd double check that the column is marked nullable in the database. If it is, clean your solution and rebuild. Also, if you're using SQL Server 2008 it may be a DateTime.MinValue see: stackoverflow.com/questions/5425610/… In that case, you'll need to override: stackoverflow.com/questions/5506524/… – Jim Schubert Jun 19 '11 at 14:39
    
If still having problem after clean and rebuild, another thing to do is clear the second level cache. In my case the DateTime.MinValue was held in the cache and kept on getting re-applied as the data was read from the cache. – Frank Bell Jan 11 at 22:27

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.