4

我有一个看起来像这样的模型:

public class Notes
{
public int NoteID {get; set;}
public string Note {get; set;}
public int CustomerID {get; set;}
{

在 Notes Details 视图中,我希望能够显示 Customer Name 而不是 CustomerID。显然,如果这是一个创建或编辑视图,我会使用一个下拉列表。但是我不确定如何在只读详细信息视图中显示值而不是 ID。

谢谢!

4

2 回答 2

8

Code First 主要是......代码,而不是数据库逻辑。

因此,与其在模型中使用外键(如 CustomerID)(这也是可能的,有时是需要的,但并非总是如此),拥有参考属性会更舒服

public virtual Customer Customer {get;set;}

因此,在您将 Notes 作为模型的视图中,您可以简单地使用

@Html.DisplayFor(m => m.Customer.Name);

当您检索您的 Notes 实体时,不要忘记包含您的 View / ViewModel 所需的相关实体/属性(我让您阅读有关延迟加载的内容)

于 2012-05-11T20:31:57.847 回答
0

你可以试试这个:

var applicationDbContext = _context.Notes.Include(n => n.Custumer);
return View(await applicationDbContext.ToListAsync());

此代码必须在您的控制器、Index 方法或您命名的任何内容中。这是在考虑范围内。

@Html.DisplayFor(modelItem => item.Customer.Name)
于 2020-09-27T15:16:32.220 回答