我使用數據庫優先與EF ..我的數據庫已經存在,所以我跟着this post ..特別臭的答案。實體類型ApplicationUser不是當前上下文的模型的一部分。更新EDMX
我已經將表格寫入我已經存在的數據庫中。
所以現在我web.config
我有這樣的:
<connectionStrings>
<!--<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-test-20170522025552.mdf;Initial Catalog=aspnet-test-20170522025552;Integrated Security=True" providerName="System.Data.SqlClient" />-->
<add name="FakeExistingDBConnectionString" connectionString="xxxxxxxxxxxxxxx;user id=fake_user;password=fakeUser12;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
<appSettings>
因此,與創建這個應用程序附帶的初始連接字符串DefaultConnection
現在被註釋掉。
在我IdenityModel.cs我現在有這樣的:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("FakeExistingDBConnectionString", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
當我嘗試註冊一個用戶。我得到這個:
的實體類型ApplicationUser不是的一部分當前上下文的模型。
只是要清楚..我的現有數據庫確實包含aspnetroles
,aspnetuserclaims
,aspnetuserlogins
,aspnetuserroles
,aspnetusers
表。
我該如何解決這個問題?
UPDATE
整個連接字符串:
<add name="DatabaseNameEntities" connectionString="metadata=res://*/Models.EntityDataModelName.csdl|res://*/Models.EntityDataModelName.ssdl|res://*/Models.EntityDataModelName.msl;provider=System.Data.SqlClient;provider connection string="data source=serverName;initial catalog=databaseName;user id=fake_user;password=fakePassword;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
UPDATE 2
添加了此連接字符串的web.config:
<add name="NameConnString" connectionString="data source=serverName;initial catalog=databaseName;user id=fake_user;password=fakePassword;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
然後在我的IdentityModel ..
public ApplicationDbContext()
: base("NameConnString", throwIfV1Schema: false)
{
}
確保您更新通過右鍵單擊EDMX。否則,請參閱[這裏](https://stackoverflow.com/questions/25866700/change-asp-net-identity-to-use-existing-database)。 –
@SteveGreene我已經從數據庫更新了我的EDMX,它仍然給出相同的錯誤。 –