npgsql和Entity Framework代码首先设置问题
我得到的最新错误是
ERROR: 42P01: relation "dbo.__MigrationHistory" does not exist
但我确信这只是因为早先没有正确设置。
我目前正在尝试设置entity framework4.4代码首先使用Npgsql 2.0.12,我已经完成了以下操作,它似乎至少现在连接到数据库,但是当我做context.saveChanges()时给我上面的错误;
-
更新了.net 2.0.50727的machine.config;
-
将dll添加到项目中
-
将app.config更改为如下所示;
-
传入的数据如下所示
public class Animal {[Key] public int Id {get; 组; public string Name {get; 组; } public string描述{get; 组; } public int Age {get; 组; public int NoOfLegs {get; 组; }}
-
其他所有东西都是通用的现成环境
任何关于我做错了什么或提示或教程的帮助,任何事都会有所帮助。 这只是一个概念certificate,但我不介意让它工作。
抱歉对代码格式化的不良使用,堆栈交换不会让我因为某些原因正确使用它,即使它的格式正确。
Npgsql不支持模式创建,因此您必须手动创建数据库。 然后,为了避免此错误,请在代码中的某处添加此语句(在您的情况下,它可能位于Main()函数的开头):
Database.SetInitializer(null);
而不是DataContext使用您的DbContext实现。
我同意iwanek之前的回答。 更具体一点,我喜欢将语句放在OnModelCreating重写方法中,以便在创建上下文时始终调用它。
public class MyDbContext : DbContext { protected override void OnModelCreating(DbModelBuilder modelBuilder) { Database.SetInitializer(null); } }