【发布时间】:2014-06-22 17:01:53
【问题描述】:
在 MVC 中,我设计了一个视图,我可以在其中绑定来自多个表的数据,即,我得到 我在索引中显示的 3 个不同表中的不同记录。
现在单击编辑时,我想将这些数据发送到编辑视图,这就是我遇到麻烦的地方。在我早期的表单中,我可以使用 db.find() 它只引用一个表,根据它的复合键,我能够找到与该表对应的所有数据。
我想在单击编辑时从 3 个表中获取记录,我可以成功地在我的索引视图中绑定这些记录。
下面是我的控制器代码:
objMyObj.MyModel = db.TableName.find(allcompositekeyshere);
据我说,我无法使用 db.find 从多个表中获取记录,因为它只会引用一个表。因此,为此我需要一些不同的逻辑。 任何帮助将不胜感激。在此先感谢..
下面是我的 linq 查询,我可以使用它从城市表中获取所有记录,从国家表中获取国家名称,从州表中获取州名。
return objSvc.GetCityIndexData().Select(ct =>
new CityInputModel()
{
CityID = ct.CityID,
StateID = ct.StateID,
CountryID = ct.CountryID,
Name = ct.Name,
CountryName = ct.CountryName,
StateName = ct.StateName
}).ToList();
这对我来说可以很好地在我的索引视图中显示记录。 现在,我想在编辑时在相应的文本框中显示相同的记录。
【问题讨论】:
-
亲爱的你必须使用 Include 关键字
-
查看@yasser 的答案,这是您问题的解决方案
-
如果你能得到显示的数据,你可以很好地使用相同的数据在编辑时显示记录。
-
@Yasser - 问题是,从我的索引视图中,我将单击其中一条记录的编辑,并且该记录的所有数据都应传输到编辑视图,这就是我面临的问题。你能告诉我如何从各个表中获取国家名称和州名,从而将它们绑定到文本框中。或者直接将所有这些记录发送到编辑视图......?感谢您的所有帮助..
标签: c# asp.net-mvc linq entity-framework asp.net-mvc-4