Asp.net mvc Npgsql/实体框架不会在新的MVC项目中更改/创建列

Asp.net mvc Npgsql/实体框架不会在新的MVC项目中更改/创建列,asp.net-mvc,entity-framework,asp.net-identity,npgsql,Asp.net Mvc,Entity Framework,Asp.net Identity,Npgsql,我在Visual Studio 2013中创建了一个新的MVC项目,并在IdentityModels.cs和AccountViewModels.cs中添加了一个“CompanyName”字段。然后,我用Nuget安装了最新的Npgsql测试版(Npgsql 2.1.3和Npgsql.EntityFramework 2.1.3),接下来,我打开web.config并设置以下连接字符串: <connectionStrings> <add name="DefaultConnectio

我在Visual Studio 2013中创建了一个新的MVC项目,并在IdentityModels.cs和AccountViewModels.cs中添加了一个“CompanyName”字段。然后,我用Nuget安装了最新的Npgsql测试版(
Npgsql 2.1.3
Npgsql.EntityFramework 2.1.3
),接下来,我打开web.config并设置以下连接字符串:

<connectionStrings>
<add name="DefaultConnection" connectionString="Server=127.0.0.1;Port=5432;Database=DBNAME;User Id=MYUSER;Password=MYPASS;" providerName="Npgsql" />
</connectionStrings>
那张桌子是什么?我认为该框架将自动更改表以添加新列。是否需要进行更多的设置

更新 我将CompanyName列手动添加到AspNetUsers表中,现在它会显示以下错误消息: 错误:42703:列扩展名1。鉴别器不存在

在EF的更高版本中,鉴别器列不是被删除了吗?我有EF6

解决方案
对于其他有类似问题的人,以下是我所做的。对于AspNetUsers表,您不仅需要添加自定义字段,而且每个表还必须有一个名为“Discriminator”(区分大小写)的列,类型为“character variating”,长度为256。此外,请检查您的各个表是否可以访问您的db用户(在我的情况下,db用户是数据库和架构的所有者,但不是架构中的表!)

为什么不对Postgres使用sql生成器,如下所示:

PM> Install-Package EntityFramework.v5.PostgreSql
并将EF配置为使用手动迁移

PM> Install-Package EntityFramework.v5.PostgreSql