显示模型中外键属性的显示值

Rya*_*yan 4 entity-framework asp.net-mvc-3

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

public class Notes
{
public int NoteID {get; set;}
public string Note {get; set;}
public int CustomerID {get; set;}
{
Run Code Online (Sandbox Code Playgroud)

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

谢谢!

Rap*_*aus 8

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

因此,不是在模型中使用外键(如CustomerID)(也可能,有时需要,但并非总是如此),您将更容易拥有引用属性

public virtual Customer Customer {get;set;}
Run Code Online (Sandbox Code Playgroud)

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

@Html.DisplayFor(m => m.Customer.Name);
Run Code Online (Sandbox Code Playgroud)

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