0

我有一个关于 asp.net MVC 模型的相对简单的问题。

我有一个基于以一对多关系链接的两个表的模型。

表动物组(ID,名称)

表 AnimalSubGroup(ID,name,AnimalGroupID)

每个 AnimalGroup 有任意数量的 AnimalSubgroups。

如何遍历每个 AnimalGroup 的 AnimalSubGroups 并获取 AnimalSubGroup.name(例如)?我是 asp.net MVC 的新手,并且一直在学习各种教程,但是虽然它们非常适合设置基本应用程序并从单个表中获取结果,但我对如何获得结果感到困惑来自同一模型中链接的多个表。我已经看到对 ViewModel 作为解决方案的引用,但 ViewModel 似乎对于将两个不相关表中的数据放入单个视图中更有用。

提前致谢。

4

2 回答 2

0

第一的。您的数据库中是否定义了外键?如果是,edmx 模型生成器将定义所有连接。如果没有,请立即执行。完成后,您可以通过以下方式选择子组名称:

  1. 直接从上下文中获取:

    context.AnimalSubGroupSet.Where(sg => sg.AnimalGroupID = requestedAnimalGroupID).Select(sg => sg.Name).ToList;

  2. 取自 AnimalGroup:

    animalGroup.AnimalSubGroups.Select(sg => sg.Name);

这段代码可能需要调整,但它们不应该很复杂。

于 2010-03-02T03:03:25.020 回答
0

也许您应该看看 LINQ 的 SelectMany 查询运算符。这子迭代了一对多的数据表关系。请注意,您可以链接 SelectMany 调用:

var mymanyselections = datacontext.parenttable.SelectMany(l=>l.Name).SelectMany(m=>m.Name);

这假设您的数据表中有外键关系。

于 2010-03-02T03:20:57.497 回答