【问题标题】:ASP.NET MVC Foreign Key using Entity Framework使用实体框架的 ASP.NET MVC 外键
【发布时间】:2011-08-03 11:28:05
【问题描述】:

我有一个父表和一个子表。

父表:int AID、nvarchar 父名、nvarchar 描述

子表:int CID、int AID、nvarchar childname、nvarchar 地址

子表从父表获得外键(AID)。我需要在视图页面中显示子表的列表。我是 asp.net mvc 的新手,问题是,我无法让父名与子表一起显示。

由于我们有外键,所以应该可以使用 AID 获取父名。任何人都可以使用一些简单的例子来解决它。在过去的 7 个小时里,我一直在为此苦苦挣扎。

将 Parent 表视为一个客户,将 child 视为与该客户关联的联系人列表。

父表 => PID,PName, PAddress 子表 => CID,PID,CName,CAddress

输出表 => PName,CName,CAddress

控制器:

public ActionResult list()
{
var listing = db.child.FindContact().ToList();
return view(listing);
}

查看sn-p(.aspx):

<%: foreach(var a in Model) %>
{
<%: a.PName %>
<%: a.CName %>
<%: a.CAddress %>
}

谢谢。

【问题讨论】:

    标签: .net asp.net-mvc entity-framework


    【解决方案1】:

    您的 Child 对象应该具有 Parent 类型的属性。 检查这个。 然后你可以在视图上写一个.Parent.PName。

    【讨论】:

    • 但我得到一个错误,“未设置对象引用”。由于它正在动态创建列表,它应该根据 PID 外键显示 PName。
    • 是的。我忘记了一件事。在加载期间,您应该指定您还需要父级。应该是这样的:db.Child.Include("Parent").ToList()
    • 非常感谢。现在可以了。但是 db.Child.Include("Parent").ToList() 只能用于 .edmx 模型,我猜它不能用于 .dbml 模型。还是谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    相关资源
    最近更新 更多