Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将DateTime添加到现有数据库?_C#_Asp.net Mvc_Entity Framework - Fatal编程技术网

C# 如何将DateTime添加到现有数据库?

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

我是ASP.NET/C#/Visual Studio的新手,目前正在学习该语言和ASP.NET MVC

我在数据库中创建了两个表,我想在现有的
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将计算出正确的日期(专业提示:这不是日期)。