我得到的最新错误是
ERROR: 42P01: relation "dbo.__MigrationHistory" does not exist
但我相信这只是因为之前的某些东西没有正确设置。
我目前正在尝试首先设置实体框架 4.4 代码以使用 Npgsql 2.0.12,我已经完成了以下操作,现在它似乎至少正在连接到数据库,但是当我执行 context.saveChanges(); 时给了我上述错误;
将 .net 2.0.50727 的 machine.config 更新为:
< add name="Npgsql Data Provider" invariant="Npgsql" support="FF" description=".Net Framework Data Provider for Postgresql Server" 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>
传入的数据如下所示
公共类动物 { [Key] public int Id { get; 放; } 公共字符串名称 { 获取;放; } 公共字符串描述 { 获取;放; } 公共 int 年龄 { 得到;放; } 公共 int NoOfLegs { 得到;放; } }
其他一切都是通用的现成的上下文设置
关于我做错了什么或提示或教程的任何帮助,任何事情都会有所帮助。这只是一个小小的概念证明,但我不介意让它工作。
Ps 对代码格式的错误使用感到抱歉,堆栈交换不会让我出于某种原因正确使用它,即使它的格式正确。