小编Ank*_*kou的帖子

npgsql和Entity Framework代码首先设置问题

我得到的最新错误是

ERROR: 42P01: relation "dbo.__MigrationHistory" does not exist
Run Code Online (Sandbox Code Playgroud)

但我确信这只是因为早先没有正确设置.

我目前正在尝试设置实体框架4.4代码首先使用Npgsql 2.0.12,我已经完成了以下操作,它似乎至少现在连接到数据库,但是当我做context.saveChanges()时给我上面的错误;

  • 更新了.net 2.0.50727的machine.config;

    <add name ="Npgsql Data Provider"invariant ="Npgsql"support ="FF"description =".Postgresql Server的Ne​​t Framework数据提供程序"type ="Npgsql.NpgsqlFactory,Npgsql,Version = 2.0.12.0,Culture = neutral, PublicKeyToken = 5d8b90d52f46fda7"/>

  • 将dll添加到项目中

  • 将app.config更改为如下所示;

    <configuration>
      <configSections>
        <section name="entityFramework"
          type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,
          EntityFramework, 
          Version=4.4.0.0, Culture=neutral, 
          PublicKeyToken=b77a5c561934e089" 
          requirePermission="false" />
      </configSections>
      <system.data>
        <DbProviderFactories>
          <remove invariant="Npgsql"></remove>
          <add name="Npgsql Data Provider" 
               invariant="Npgsql" 
               description=".Net Framework Data Provider for Postgresql Server" 
               type="Npgsql.NpgsqlFactory, Npgsql, 
                     Version=2.0.12.0, Culture=neutral, 
                     PublicKeyToken=5d8b90d52f46fda7" />
        </DbProviderFactories>
      </system.data>
      <connectionStrings>
        <add name="DataContext" 
             connectionString="Server=127.0.0.1;Port=5432;Database=postgres;User Id=postgres;Password=*******;CommandTimeout=20;" 
             providerName="Npgsql" />
      </connectionStrings>
    </configuration>
    
    Run Code Online (Sandbox Code Playgroud)
  • 传入的数据如下所示

    public …

c# entity-framework npgsql ef-code-first

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

c# ×1

ef-code-first ×1

entity-framework ×1

npgsql ×1