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!

link|improve this question

feedback

1 Answer

up vote 3 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.

link|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
feedback

Your Answer

 
or
required, but never shown

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