【发布时间】:2019-04-07 00:17:05
【问题描述】:
我正在为一个小动物饲养员创建一个 asp.net MVC 应用程序。我用一个名为 AvailableAnimals 的表设置了数据库,该表与 MaleBreeder 表和 FemaleBreeder 表具有一对多的关系。我想通过使用选定的可用动物 ID 创建一个“兄弟姐妹”页面,并能够查看该动物的所有全兄弟姐妹和半兄弟姐妹。到目前为止,这是我所拥有的,但 Siblings 视图没有返回任何内容。
答案是我确定是一个我现在想不出的简单问题。
控制器:
public ActionResult Siblings(int? id)
{
AvailableAnimals availableAnimals = db.AvailableAnimals.Find(id);
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
else if (id != null)
{
var siblings = db.AvailableAnimals.Where(x => x.ACSireID == id.Value || x.ACDamID == id.Value);
return View(siblings);
}
if (availableAnimals == null)
{
return HttpNotFound();
}
return View(availableAnimals);
}
我的视图目前仅设置为显示来自简单 foreach 循环的兄弟姐妹。
【问题讨论】:
-
你调试代码了吗?您在
availableAnimals和siblings变量中获得了什么数据? -
availableAnimals 是我从中提取记录的表。该表包含 ACSIREID 和 ACDAMID 的数据。我有一个单独的公牛表和一个单独的水坝表。因此,它们与可用的动物具有一对多的关系。我现在只是将兄弟姐妹作为变量。
-
你的代码看起来不错。您没有在视图中获取数据的可能原因是因为您没有在
siblings变量中获取任何数据。您需要调试代码并检查是否在siblings变量中获取任何数据。您还需要检查数据库中是否有正确的数据。您只能调试您的代码。我们可以提示您在哪里寻找问题。我们无法解决问题,因为我们不知道问题是什么。 -
所以我的变量“兄弟姐妹”唯一返回的是 System.Collections.Generic.List`1[SolutionName.AvailableAnimals]
标签: c# asp.net-mvc entity-framework view controller