gpt4 book ai didi

asp.net-mvc - ASP.NET MVC Entity Framework 关系绑定(bind)

转载 作者:行者123 更新时间:2023-12-02 09:36:47 25 4
gpt4 key购买 nike

我正在为我的 MVC4 项目使用 Entity Framework 5.0。它有问题。当我向任何 View 提供数据库模型时, Controller 发送没有关系的模型

示例;

我有用户类别和相关部门

当我在 Controller 中使用它时

using(context)
{
var user = context.Find(id);
string department = user.Department.Name;
}

在上下文中调用时它可以工作。但当我这样做时

using(context)
{
var user = context.Find(id);
return View(user);
}

并在 View 中调用

Model.Department.Name 

我遇到错误。

这是我的答案,但它不好

using(context)
{
var user = context.Find(id);
string department = user.Department.Name;
return View(user);
}

当我尝试在 View 中使用 Model.Department.Name 时,我没有收到任何错误,当我使用类作为模型时,我必须对每个关系执行此操作。这个问题有更好的解决方案吗?我想使用 View 中的所有关系,而不在 Controller 中调用这些关系。

我希望你能理解我,对不起我的英语。

最佳答案

在 DbContext 上,您可以使用 .Include 方法来急切地加载您需要的关系:

context.Users.Include(u => u.Department).FirstOrDefault(u => u.Id == id);

或者,如果您使用旧版本的 Entity Framework ,则此方法的通用版本可能不可用:

context.Users.Include("Department").FirstOrDefault(u => u.Id == id);

关于asp.net-mvc - ASP.NET MVC Entity Framework 关系绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15067256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com