对象数据源从两个表中获取值?

时间:2011-05-15 17:20:51

标签: asp.net sql objectdatasource

我有一个与objectdatasource绑定的listview。我从URL获取参数。

在数据库中。我有两张桌子。 第一个表包含每行unquie。前

pkey  Name   Text

1 A xyz

2 B zzz

但是在第二个表中将有第一个表格的foreing键,因此值

pkey   FKey   value

1 1 /image/1.jpg

2 1 /image/2.jpg

3 2 /image/z.jpg

4 2 /image/a.jpg

现在为了这个灵魂我应该有两个listview? 第一张表的第1列表视图和第二张表的第2列表

请指导我???

2 个答案:

答案 0 :(得分:1)

如果您只是使用使用普通旧ADO.NET调用数据库的类,则可以直接在SQL语句中创建联接,也可以在数据库中创建基于主键/表连接表的视图外键值并返回单个结果集,然后查询视图。如果您正在使用ORM,则可以使用Linq(假设ORM具有Linq提供程序)来执行连接或映射视图并单独查询。

答案 1 :(得分:0)

使用linq对象,您可以在表上执行连接,为您提供在单个对象中查找的所有数据。然后可以将其放入一个列表视图中。

var dat = from x in Context.Table_1
              join y in Context.Table_2 on x.pkey equals y.fkey
              select new 
              {
                   Name = x.Name, 
                   Text = x.Text,
                   Value = y.value
              };