EF 5 和 MVC 4:无法首先使用 Databse 获取控制器中没有引用的表
本文关键字:控制器 获取 Databse 引用 MVC EF | 更新日期: 2023-09-27 18:31:58
我正在使用MVC 4,EF 5和数据库优先方法。我添加了 2 个新表(用户详细信息和用户地址),在现有数据库中没有引用。我能够在EDMX文件中看到所有表,包括这两个新表,并创建了模型。但是当 im 尝试在控制器中获取表时,它会通过以下方式显示除用户详细信息和用户地址之外的所有模型。
[Authorize]
[InitializeSimpleMembership]
public class AccountController : Controller
{
private DbRestaurantEntities db = new DbRestaurantEntities();
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
try
{
WebSecurity.CreateUserAndAccount(model.UserName, model.Password);
var userId = WebSecurity.GetUserId(User.Identity.Name);
//db.UserDetails -- Not showing
WebSecurity.Login(model.UserName, model.Password);
return RedirectToAction("Index", "Home");
}
catch (MembershipCreateUserException e)
{
ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
}
}
return View(model);
}
}
我错过了什么吗?
WebSecurity 使用不同的 dbContext,则需要使用相同的 dbContext,该上下文用于创建数据库表。您可以在连接字符串的 web.config 文件中查看它。并使用确切的数据库上下文
在身份验证配置中添加此内容.cs
WebSecurity.InitializeDatabaseConnection(
"specifyTheDbContextHere",
"UserProfile",
"UserId",
"UserName",
autoCreateTables: true
);