ASP.NET GridView控件中实体模型显示多对多关系

时间:2011-05-16 23:26:46

标签: c# asp.net entity-framework many-to-many

假设我有两张桌子:Cars和BodyStyle,有多对多关系。

在数据实体模型中,它将显示两个表,但在Sql中,它有一个辅助表来链接,因为它有多对多的关系。

我想知道如何在网格视图中显示与Car实例相关的所有样式。

所以gridview基本上应该是这样的:

ID |制作|型号|风格|
 ----------------------------------“
1 |讴歌| EL |轿车,豪华|
2 |讴歌| MDX | SUV,豪华|

我似乎无法通过c#

访问帮助表

抱歉,我是c#编程的新手。

2 个答案:

答案 0 :(得分:0)

你能不能将帮助表添加到edm中?我会先添加一下,否则我将如何知道辅助表的存在。

答案 1 :(得分:0)

你有几个选择。您的Car类应具有Models Navigation属性,而Model类应具有Cars导航属性。

第一个选项:编写一个存储过程,它将接受特定的(汽车/模型)作为参数,并相应地返回结果集,然后将该sp映射到edm中。然后,您可以从代码隐藏中调用SP(如果您没有使用Reporsitoy / Separation of Concern)并绑定到gridview。

第二个选项:如果您正在使用POCO汽车类,请编写一个名为Models的Navigation属性,它将基本上查询您的数据库(使用LINQ to SQL)并获取所有模型然后您只需要调用该属性(作为IEnumerable)在您的UI中并绑定到gridview。

希望这会有所帮助,希望我能正确理解你的问题