Reputation: 6320
I have Game class which has two properties GameStartDate
and GameEndDate
with DateTime
type format.
public class Game
{
[Key]
public int GameID { get; set; }
[Required, DisplayName("Start Date"), DataType(DataType.Date)]
[Column(TypeName = "datetime2")]
public DateTime? GameStartDate { get; set; }
[Required, DisplayName("End Date"), DataType(DataType.Date)]
[Column(TypeName = "datetime2")]
public DateTime? GameEndDate { get; set; }
}
inseed
method I have
protected override void Seed(Models.Game.GameCTX context)
{
context.Games.AddOrUpdate(getEvents(context).ToArray());
context.SaveChanges();
}
private List<Game> getEvents(GameCTX db)
{
List<Game> events = new List<Game>();
events.Add(new Game()
{
StartDate = DateTime.Today,
EndDate = DateTime.Today,
}
);
events.Add(new Game()
{
StartDate = DateTime.Today,
EndDate = DateTime.Today,
}
);
return events;
}
and in Up
method I have
public override void Up()
{
CreateTable(
"dbo.Events",
c => new
{
EventID = c.Int(nullable: false, identity: true),
GameStartDate = c.DateTime(nullable: false, precision: 7, storeType: "datetime2"),
GameEndDate = c.DateTime(nullable: false, precision: 7, storeType: "datetime2"),
})
.PrimaryKey(t => t.GameID);
}
As you can see I already tried to use nullable
and datetime2
in the Game Class as:
[Column(TypeName = "datetime2")]
public DateTime? GameEndDate { get; set; }
but I am still getting error:
The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value
after running update-database
command in Package Manager Console. Why is this happening, and how I can fix it?
Upvotes: 1
Views: 149