问题
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
{
[Key]
public int Id { get; set; }
[DataType(DataType.Date)]
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
回答1:
I think you are trying to specify database column type. You could use data annotations as described in this article.
Here is an example :
[Table("People")]
public class Person
{
public int Id { get; set; }
[Column(TypeName = "varchar")]
public string Name { get; set; }
[Column(TypeName="date")]
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.
回答2:
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");
回答3:
Change DateTime to nvarchar(10) in database if u use DateTime in database 00.00.00 will be automatically assigned by database
string date = DateTime.Today.ToShortDateString();
回答4:
Change datatype on the database from Datetime
to Date
type
Is it really an issue for you anyway? You may want time in there at some point,
来源:https://stackoverflow.com/questions/33762292/store-only-date-in-database-not-time-portion-c-sharp