C# 如何将DateTime添加到现有数据库?
我是ASP.NET/C#/Visual Studio的新手,目前正在学习该语言和ASP.NET MVC 我在数据库中创建了两个表,我想在现有的C# 如何将DateTime添加到现有数据库?,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,我是ASP.NET/C#/Visual Studio的新手,目前正在学习该语言和ASP.NET MVC 我在数据库中创建了两个表,我想在现有的Reviews表中添加一列。通常情况下,我只需更新我的模型,然后在Package Manager控制台中运行添加迁移和更新数据库,但这次我遇到以下错误: 对于CLR类型为“DateTime”的属性“cmsEen.Models.Review.ReviewPostTime”,找不到到到关系类型的映射 在我的Review模型中,我添加了: [DataType(D
Reviews
表中添加一列。通常情况下,我只需更新我的模型,然后在Package Manager控制台中运行添加迁移
和更新数据库
,但这次我遇到以下错误:
对于CLR类型为“DateTime”的属性“cmsEen.Models.Review.ReviewPostTime”,找不到到到关系类型的映射
在我的Review
模型中,我添加了:
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]
public DateTime ReviewPostTime { get; set; }
完整代码:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;
namespace cmsEen.Models
{
public class Review
{
[Key]
public int ReviewId { get; set; }
[Required]
public int ProductId { get; set; }
[Required]
[Range(0, 5)]
[Display(Name = "Rating:")]
public int ReviewRating { get; set; }
[Required]
[Display(Name = "Title:")]
public string ReviewTitle { get; set; }
[Required]
[Display(Name = "Message:")]
public string ReviewMessage { get; set; }
public Product Product { get; set; }
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]
public DateTime ReviewPostTime { get; set; }
}
}
如果有人有解决方案或能为我指出正确的方向,我将不胜感激。数据库SQL中的“datetime”字段不适合CLR的“datetime”类型。您需要转换或使用“datetime 2”类型
而且,可能必须将日期的文本表示形式改为“yyyy-MM-dd HH:MM:ss”格式。数据库SQL中的“datetime”字段不适合CLR的“datetime”类型。您需要转换或使用“datetime 2”类型
而且,可能必须将日期的文本表示形式改为“yyyy-MM-dd HH:MM:ss”删除
[DataType(DataType.date)]
。使用实体框架和迁移时,不需要指定sql数据类型。通常,当您添加DateTime
对象和add migration
时,它会将数据库中的数据类型保存为datetime2
类型。删除[DataType(DataType.Date)]
。使用实体框架和迁移时,不需要指定sql数据类型。通常,当您添加DateTime
对象和add migration
时,它会将数据库中的数据类型保存为datetime2
类型。尝试删除行[DataType(DataType.Date)]。EF将计算出正确的日期(提示:不是日期)。请尝试删除行[DataType(DataType.Date)]。EF将计算出正确的日期(专业提示:这不是日期)。