将 datetime2 数据类型转换为 datetime 数据类型导致值超出范围。该语句已终止

我的模型中有以下代码

public int Id { get; set; }

    [Required]
    [StringLength(255)]
    public string Name { get; set; }

    public DateTime DateAdded { get; set; }

    [Display(Name = "Release Date")]
    public DateTime ReleaseDate { get; set; }

    [Display(Name = "Number in Stock")]
    public byte NumberInStock { get; set; }

    public Genre Genre { get; set; }

    [Display(Name = "Genre")]
    [Required]
    public byte GenreId { get; set; }

这是我的控制器编码器错误点显示

[HttpPost]
    public ActionResult Create(Movie movie)
    {
        _context.Movies.Add(movie);
        _context.SaveChanges();

        return RedirectToAction("Index", "Movies");
    }

这是视图

<div class="form-group">
    @Html.LabelFor(m => m.Movie.ReleaseDate)
    @Html.TextBoxFor(m => m.Movie.ReleaseDate, "{0:d MMM yyyy}", new { @class = "form-control" })
</div>
<div class="form-group">
    @Html.LabelFor(m => m.Movie.GenreId)
    @Html.DropDownListFor(m => m.Movie.GenreId, new SelectList(Model.Genres, "Id", "Name"), "Select Movie Genre", new { @class = "form-control" })
</div>
<div class="form-group">
    @Html.LabelFor(m => m.Movie.NumberInStock)
    @Html.TextBoxFor(m => m.Movie.NumberInStock, new { @class = "form-control" })
</div>

<button type="submit" class="btn btn-primary">Save</button>

当我单击提交按钮时,出现错误:

将 datetime2 数据类型转换为 datetime 数据类型导致值超出范围。

对这个问题有什么想法吗?我假设这是一个日期时间问题,但我无法解决问题。我是这方面的初学者。

太阳云

日期时间列“DateAdded”在 sql 中被标记为Not Nullable

选项 1(更改控制器):

[HttpPost]
public ActionResult Create(Movie movie)
{
    //setdate
    movie.DateAdded = Datetime.Now;
    _context.Movies.Add(movie);
    _context.SaveChanges();

    return RedirectToAction("Index", "Movies");
}

选项 2(更改模型)

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

    [Required]
    [StringLength(255)]
    public string Name { get; set; }

    public DateTime DateAdded { get; set; } = Datetime.Now;

    [Display(Name = "Release Date")]
    public DateTime ReleaseDate { get; set; }

    [Display(Name = "Number in Stock")]
    public byte NumberInStock { get; set; }

    public Genre Genre { get; set; }

    [Display(Name = "Genre")]
    [Required]
    public byte GenreId { get; set; }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将 datetime2 数据类型转换为 datetime 数据类型导致值超出范围异常

将datetime2数据类型转换为datetime数据类型会导致超出范围的值

将 varchar 数据类型转换为 datetime 数据类型导致值超出范围

如何解决将datetime2数据类型转换为datetime数据类型导致值超出范围

ASP.NET MVC:将 datetime2 数据类型转换为 datetime 数据类型导致值超出范围

datetime2数据类型转换为datetime数据类型导致超出范围的值

将 varchar 数据类型转换为 datetime 数据类型导致 c# 中的值超出范围

从datetime2数据类型到datetime数据类型的转换导致超出范围的值

从datetime2数据类型到datetime数据类型的转换导致值超出范围

即使没有datetime列,也得到“将varchar数据类型转换为datetime数据类型导致超出范围的值”

如何识别抛出列的System.Data.SqlClient.SqlException?(将datetime2数据类型转换为datetime数据类型)

MSSQL查询不再与Windows 10客户端一起使用:将varchar数据类型转换为datetime数据类型导致值超出范围

将 varchar 转换为 datetime 数据类型

varchar数据类型到datetime数据类型的转换导致值超出范围。SQL服务器

varchar数据类型到datetime数据类型的转换导致超出范围的值MVC5中的错误

从nvarchar数据类型到datetime数据类型的转换导致C#中的值超出范围

Varchar 到 datetime 数据类型转换导致值超出范围

将行转换为DateTime数据类型Pandas数据框

将 "yyyy-MM-ddTHH:mm:ssZ" 转换为 DateTime 数据类型

SQL Server:将数据类型nvarchar转换为datetime时出错

Azure MSSQL - 将 nvarchar 数据类型转换为日期时间数据类型导致值超出范围

在SQL Server 2005中将datetime2创建为自定义数据类型

将表Colum从datetime2转换为datetime

MySql将start_date(VARCHAR)列数据类型转换为start_date(DATETIME),而不会丢失数据

PHP PDO unixODBC FreeTDS SQL Server在存储过程中“将数据类型varchar(max)转换为datetime”

TensorFlow:如何将tf.Tensor字符串转换为python datetime数据类型?

日期时间转换错误 - 将 varchar 数据类型转换为日期时间数据类型导致值超出范围

错误“将 varchar 数据类型转换为日期时间数据类型导致值超出范围。” 而存储日期格式是 dd-mm-yyyy

Laravel与SQL Server 2008抛出“将varchar数据类型转换为日期时间数据类型导致值超出范围”