store only date in database not time portion C#

c# datetime entity-framework entity-framework-6.1 sqldatatypes


I have a test class and an ExecutionDate property which stores only date but when we use [DataType(DataType.Date)] that also stores the time portion in database but I want only date portion.

public class Test
     public int Id { get; set; }

     public DateTime ExecutionDate { get; set; }      

Is any way to store only date on time portion in db using Entity Framework? Please help me....

I have added snapshot when use [DataType(DataType.Date)] that stores time portion 00:00 I want remove that

enter image description here

11/20/2015 4:41:14 PM

Accepted Answer

I think you are trying to specify database column type. You could use data annotations as described in this article.

Here is an example :

public class Person
    public int Id { get; set; }

    [Column(TypeName = "varchar")]
    public string Name { get; set; }

    public DateTime DOB { get; set; }

By default, string is translated to nvarchar, we have changed that here. Also Datetime (this is what you asked I suppose) which by default maps to datatime in sql server, is changed to date which stores only the date portion and not the time portion of a DateTime value.

11/19/2015 1:28:23 PM

Popular Answer

As David said above, once you bring that data into the application it will be a DateTime with the timestamp added onto the date. This would be the same result too if you stored the date as a string and used Convert to change to a DateTime for any manipulation:

string date = "2015-11-17";
var dateTime = Convert.ToDateTime(date);

Unless you want to manipulate strings in your application to avoid the timestamp, you can only work with DateTime. For display purposes though, you can always format the date and remove the timestamp:

var dateTime = DateTime.Now;
var formatDate = dateTime.ToString("yyyy-MM-dd");

Related Questions


Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow