在带有Npgsql的Asp.net 5(vnext)中使用Postgres

甲虫汁

我已经配置了我的应用程序以连接到Postgres数据库,但是在向其中加载一些数据时,它给了我一个错误。

首先,这是我包含在project.json中的内容:

"EntityFramework7.Npgsql": "3.1.0-rc1-1",

在Startup.cs类中:

services.AddEntityFramework()
            .AddNpgsql()
            .AddDbContext<ApplicationDbContext>(options =>
                    options.UseNpgsql(Configuration["Data:DefaultConnection:ConnectionString"]));

这是我的连接字符串:

Server=127.0.0.1;Port=5432;Database=test1;User Id=postgres;Password=mypass123

dnx命令更新数据库效果很好,但是我不得不手动创建“ __EFMigrationsHistory”表。

问题是执行时出现以下错误context.SaveChanges

{Microsoft.Data.Entity.DbUpdateException:更新条目时发生错误。有关详细信息,请参见内部异常。---> Npgsql.NpgsqlException:23502:列“ Id”中的空值违反了非空约束em Npgsql.NpgsqlConnector.DoReadSingleMessage(DataRowLoadingMode dataRowLoadingMode,Boolean returnNullForAsyncMessage,Boolean isPrependedMessage)em Npgsql.NpgsqlConnector.ReadSingleMessageowPowder )em Npgsql.NpgsqlConnector.ReadSingleMessage(DataRowLoadingMode dataRowLoadingMode)em Npgsql.NpgsqlDataReader.ReadMessage()em Npgsql.NpgsqlDataReader.Init()em Npgsql.NpgsqlCommand.Execute(CommandBehavior行为)em Npgsql.NpgsqlCommand.Indbternal() NpgsqlCommand。3 action, String executeMethod, Boolean openConnection, Boolean closeConnection) em Microsoft.Data.Entity.Storage.Internal.RelationalCommand.ExecuteReader(IRelationalConnection connection, Boolean manageConnection) em Microsoft.Data.Entity.Update.ReaderModificationCommandBatch.Execute(IRelationalConnection connection) --- Fim do rastreamento de pilha de exceções internas --- em Microsoft.Data.Entity.Update.ReaderModificationCommandBatch.Execute(IRelationalConnection connection) em Microsoft.Data.Entity.Update.Internal.BatchExecutor.Execute(IEnumerable1个命令批处理,IRelationalConnection连接)em Microsoft.Data.Entity.Storage.RelationalDatabase.SaveChanges(IReadOnlyList1 entries) em Microsoft.Data.Entity.ChangeTracking.Internal.StateManager.SaveChanges(IReadOnlyList1个条目(保存)em Microsoft.Data.Entity.ChangeTracking.Internal.StateManager.SaveChanges(Boolean acceptAllChangesOnSuccess)em Microsoft.Data.Entity.DbContext.SaveChanges(Boolean acceptAllChangesOnSuccess)em Microsoft.Data.Entity.DbContext.SaveChanges()em SQLite。 Migrations.Seed.CriaEndereco()无F:\ Dados \ Documents \ Visual Studio 2015 \ Projects \ SQLite \ src \ SQLite \ Migrations \ Seed.cs:linha 73 em SQLite.Migrations.Seed.Execute(IServiceProvider applicationServices)无\ Dados \ Documents \ Visual Studio 2015 \ Projects \ SQLite \ src \ SQLite \ Migrations \ Seed.cs:linha 36 em SQLite.Startup.CreateSampleData(IServiceProvider applicationServices)na F:\ Dados \ Documents \ Visual Studio 2015 \ Projects \ SQLite \ src \ SQLite \ Startup.cs:linha 138 em SQLite.Startup.Configure(IApplicationBuilder应用,IHostingEnvironment env,ILoggerFactory loggerFactory)na F:\数据\文档\ Visual Studio 2015 \项目\ SQLite \ src \ SQLite \ Startup.cs:第128行}

Id列应该由实体分配,还是不?

相同的代码在SqlServer中工作。

更新

这是SqlServer表架构:

CREATE TABLE [dbo].[Ufs] (
    [Id]    INT           IDENTITY (1, 1) NOT NULL,
    [Nome]  NVARCHAR (70) NOT NULL,
    [Sigla] NVARCHAR (2)  NOT NULL,
    CONSTRAINT [PK_Uf] PRIMARY KEY CLUSTERED ([Id] ASC)
);

在这里Postgres:

CREATE TABLE public."Ufs"
(
  "Id" integer NOT NULL,
  "Nome" text NOT NULL,
  "Sigla" text NOT NULL,
  CONSTRAINT "PK_Uf" PRIMARY KEY ("Id")
)
WITH (
  OIDS=FALSE
);
ALTER TABLE public."Ufs"
  OWNER TO postgres;

所有这些代码都是通过迁移自动生成的。

兔子

看起来您是使用SqlServer迁移生成了Postgres数据库的。

我建议您还原并删除所有迁移,然后再次添加迁移。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在ASP.NET 5 / vNext / Core中使用Elmah?

来自分类Dev

带有MongoDB的ASP.NET 5

来自分类Dev

无法在ASP.Net vNext项目中使用会话

来自分类Dev

带有EntityFramework.Core的ASP.NET vNext

来自分类Dev

在带有区域的ASP.NET MVC 5中使用路由属性

来自分类Dev

如何在ASP.NET vNext中使用现有代码

来自分类Dev

配置核心以允许使用ASP.NET Core(Asp.net 5,MVC6,VNext)的所有子域

来自分类Dev

带有实体框架的ASP .NET MVC 5中的并发

来自分类Dev

带有POST形式的ASP .NET MVC 5 + Bootstrap模态

来自分类Dev

带有ASP.net的引导程序未使用全屏

来自分类Dev

在asp.net vnext中的Startup.cs中使用ConfigureServices和Configure方法

来自分类Dev

无法在asp.net vnext类库中使用必需的属性

来自分类Dev

在asp.net-vnext和Visual Studio 15中使用Grunt-Contrib-Watch

来自分类Dev

如何在asp.net vnext中使用协议缓冲区?

来自分类Dev

在ASP.NET vNext应用中使用Microsoft.Data.Common

来自分类Dev

使用带有端点路由的ASP.NET Core中的CreatedAtRouteResult生成带有段的URL

来自分类Dev

在使用DNX环境时,如何使用ASP.Net 5(vNext)设置负载平衡环境?

来自分类Dev

ASP.NET vNext和ASP.NET 5有什么区别?

来自分类Dev

ASP .NET在带有UpdateProgress的UpdatePanel中使用中继器

来自分类Dev

如何在ASP.NET MVC中使用带有DescriptionAttribute的枚举

来自分类Dev

如何在带有maxAllowedContentLength的IIS上的ASP.NET Core中使用MaxRequestBodySize?

来自分类Dev

在带有WebGrid列的ASP.NET视图中使用javascript变量

来自分类Dev

在Ionic Framework中使用带有oAuth的ASP.NET Web Api的最佳实践是什么?

来自分类Dev

在 Asp.net 中使用带有复选框的下拉列表

来自分类Dev

如何在带有 ASP.NET Core 的控制器中使用泛型方法

来自分类Dev

使用ASP.Net vNext发送邮件

来自分类Dev

如何使用ASP.Net vNext / 5登录到“输出”窗口

来自分类Dev

如何使用带有Asp.net 5(dotnet核心)的Serilog登录到SQL Server

来自分类Dev

如何使用 vb.net 在 asp net webforms 中显示带有是或否的消息框?

Related 相关文章

  1. 1

    如何在ASP.NET 5 / vNext / Core中使用Elmah?

  2. 2

    带有MongoDB的ASP.NET 5

  3. 3

    无法在ASP.Net vNext项目中使用会话

  4. 4

    带有EntityFramework.Core的ASP.NET vNext

  5. 5

    在带有区域的ASP.NET MVC 5中使用路由属性

  6. 6

    如何在ASP.NET vNext中使用现有代码

  7. 7

    配置核心以允许使用ASP.NET Core(Asp.net 5,MVC6,VNext)的所有子域

  8. 8

    带有实体框架的ASP .NET MVC 5中的并发

  9. 9

    带有POST形式的ASP .NET MVC 5 + Bootstrap模态

  10. 10

    带有ASP.net的引导程序未使用全屏

  11. 11

    在asp.net vnext中的Startup.cs中使用ConfigureServices和Configure方法

  12. 12

    无法在asp.net vnext类库中使用必需的属性

  13. 13

    在asp.net-vnext和Visual Studio 15中使用Grunt-Contrib-Watch

  14. 14

    如何在asp.net vnext中使用协议缓冲区?

  15. 15

    在ASP.NET vNext应用中使用Microsoft.Data.Common

  16. 16

    使用带有端点路由的ASP.NET Core中的CreatedAtRouteResult生成带有段的URL

  17. 17

    在使用DNX环境时,如何使用ASP.Net 5(vNext)设置负载平衡环境?

  18. 18

    ASP.NET vNext和ASP.NET 5有什么区别?

  19. 19

    ASP .NET在带有UpdateProgress的UpdatePanel中使用中继器

  20. 20

    如何在ASP.NET MVC中使用带有DescriptionAttribute的枚举

  21. 21

    如何在带有maxAllowedContentLength的IIS上的ASP.NET Core中使用MaxRequestBodySize?

  22. 22

    在带有WebGrid列的ASP.NET视图中使用javascript变量

  23. 23

    在Ionic Framework中使用带有oAuth的ASP.NET Web Api的最佳实践是什么?

  24. 24

    在 Asp.net 中使用带有复选框的下拉列表

  25. 25

    如何在带有 ASP.NET Core 的控制器中使用泛型方法

  26. 26

    使用ASP.Net vNext发送邮件

  27. 27

    如何使用ASP.Net vNext / 5登录到“输出”窗口

  28. 28

    如何使用带有Asp.net 5(dotnet核心)的Serilog登录到SQL Server

  29. 29

    如何使用 vb.net 在 asp net webforms 中显示带有是或否的消息框?

热门标签

归档