我得到的最新错误是
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的Net 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 …