Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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-core/3.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
Asp.net 具有实体框架核心2.1.4代码优先的.NET核心2.1.1:从字符串转换日期和/或时间时转换失败_Asp.net_Asp.net Core_.net Core_Entity Framework Core_Entity Framework Migrations - Fatal编程技术网

Asp.net 具有实体框架核心2.1.4代码优先的.NET核心2.1.1:从字符串转换日期和/或时间时转换失败

Asp.net 具有实体框架核心2.1.4代码优先的.NET核心2.1.1:从字符串转换日期和/或时间时转换失败,asp.net,asp.net-core,.net-core,entity-framework-core,entity-framework-migrations,Asp.net,Asp.net Core,.net Core,Entity Framework Core,Entity Framework Migrations,创建表后,我有一个扩展方法来为表设置种子: public static class ModelBuilderExtensions { public static void Seed(this ModelBuilder modelBuilder) { modelBuilder.Entity<AppUser>(entity => { entity.HasData( new Eve

创建表后,我有一个扩展方法来为表设置种子:

public static class ModelBuilderExtensions
{
    public static void Seed(this ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<AppUser>(entity =>
        {
            entity.HasData(
                new Event() { id = 1, WhenDate = DateTime.Now.AddMonths(1) }
            )
    }
}
公共静态类ModelBuilderExtensions
{
公共静态void种子(此ModelBuilder ModelBuilder)
{
modelBuilder.Entity(Entity=>
{
entity.HasData(
新事件(){id=1,WhenDate=DateTime.Now.AddMonths(1)}
)
}
}
我用这个命令创建了迁移文件

添加迁移初始值创建

然后

更新数据库

要使用表创建数据库,但出现以下错误:

从字符转换日期和/或时间时转换失败 串

在我的InitialCreate文件中,我有一行:

WhenDate=table.Column(类型:“datetime”,可为空:false)

在我的控制台日志中的insert into命令中,我看到以下字符串:

“2019-03-12T16:09:33.617+01:00”

我猜字符串格式不正确,但如何更改它?正确的格式是什么


谢谢

我找到了一个解决方案,如果我现在用
UtcNow
替换
,它会工作!因为它删除了“+01:00”

替换

DateTime.Now.AddMonths(1)

DateTime.UtcNow.AddMonths(1)

字符串结果:

“2019-03-12T17:08:25.682Z”


我找到了一个解决方案,如果我现在用UtcNow替换

替换

DateTime.Now.AddMonths(1)

DateTime.UtcNow.AddMonths(1)

字符串结果:

“2019-03-12T17:08:25.682Z”


对我来说,在运行更新数据库后尝试更改列时会发生这种情况:

我通过添加手动默认值进行了修复,如: 默认值:“0001-01-01”

例如:

  migrationBuilder.AddColumn<DateTime>(
                name: "OperationDateTime",
                schema: "DefinitionContext",
                table: "Path",
                type: "DateTime",
                nullable: false,
                defaultValue:"0001-01-01");
migrationBuilder.AddColumn(
名称:“OperationDateTime”,
模式:“定义上下文”,
表:“路径”,
键入:“日期时间”,
可为空:false,
默认值:“0001-01-01”);

对于我来说,在运行更新数据库后试图更改列时会发生这种情况:

我通过添加手动默认值进行了修复,如: 默认值:“0001-01-01”

例如:

  migrationBuilder.AddColumn<DateTime>(
                name: "OperationDateTime",
                schema: "DefinitionContext",
                table: "Path",
                type: "DateTime",
                nullable: false,
                defaultValue:"0001-01-01");
migrationBuilder.AddColumn(
名称:“OperationDateTime”,
模式:“定义上下文”,
表:“路径”,
键入:“日期时间”,
可为空:false,
默认值:“0001-01-01”);
AppUser类中的“WhenDate”是什么类型?DateTime?是“WhenDate”是DateTime类型。当我在SSMS中复制/超过insert into命令时,错误是相同的,但当我删除“+01:00”时,它起作用了!AppUser类中的“WhenDate”是什么类型?DateTime?是“WhenDate”是DateTime类型。当我在SSMS中复制/通过insert into命令时,错误是相同的,但当我删除“+01:00”时,它工作正常!