Behseini
Behseini

Reputation: 6320

ASP.Net with datetime2 in Code First Entity Framework

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

Answers (0)

Related Questions