我有一个已创建edmx文件的现有数据库。现在我正在尝试将默认AccountController连接到此数据库并实现登录/注册功能,但它不起作用。
我尝试的事情 -
我尝试更改IdentityModels.cs中的上下文。
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("MyConnection")
{
}
}
错误 - 实体类型ApplicationUser不是当前上下文的模型的一部分。
然后,我尝试了这个
public partial class myEntities : IdentityDbContext<ApplicationUser>
{
public myEntities ()
: base("name=myEntities ")
{
}
... }
它也可以起作用。
提前致谢。
答案 0 :(得分:1)
如果您决定使用EDMX,为什么还需要IdentityDbContext? EDMX提供了使用现有数据库所需的一切:连接字符串位于web.config,db context,所有数据实体和CRUD LINQ操作中。在这种情况下,我会直接从任何这样的控制器中调用它们:
using (var myEntities = new MyEntities ())
{
var users = from u in myEntities.Users
where u.id == 1
select u;
}
在这种情况下,您的表格和数据库应该存在,否则您必须实施code first approach。