mvc怎么在一个视图里显示两张表啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mvc怎么在一个视图里显示两张表啊相关的知识,希望对你有一定的参考价值。

我建了两张表,一个A,一个B,两张表不相连,现在我想在一个视图中显示A的一条记录同时显示B中所有与这条记录相关的记录(B.AID=A.ID),下面是代码:
public ActionResult Details(int id = 0)

A book = db.A.Find(id);
if (book == null)

return HttpNotFound();


var stores = (from s in db.B where s.AID.Equals(book.ID) select s).ToList();
ViewBag.store = stores;

return View(book);

这个viewbag.store要怎么在视图中显示啊,用foreach就会说。此上下文仅支持基元类型或枚举类型
本人新手,求大神解答,最好有代码(razor)!

return view的时候不止可以返回实体类,也可以返回你的查询结果,比如你查询的结果那个stores,这个应该是个DataSet,然后在页面上接收就可以,页面代码很简单,如下:
//可以使用for循环或者foreach
@for(int i=0;i<Model.Tables[0].Rows.Count;i++)
//然后取出你想要的列
<label>@Model.Tables[0].Rows[i]["你的列名"]</label>

MVC页面上你的view返回的什么,Model就等于什么,除非你在页面上定义过了
参考技术A 视图:@foreach (var item in Model.表名)

<input type="text" name="数据库字段名" />

控制器:var like1 = db.表名1.Include("表名2").ToList()
然后就可以写新增的代码

Oracle数据库,关于关联两张表更新问题

如有主表A,子表B,当主表A对应的子表B数据条数不为0,并且,所有子表B的数据中某字段(如status)都为30时,则更新主表A的status字段为30.。非常感谢

两表关联更新用如下方法。

有以下两张表:

根据test2表中的id和test1表中的id关联,修改test1表中name字段,语句如下:

update test1 a set a.name=(select b.name from test2 b where a.id=b.id) where a.id in (select id from test2);

更新后,test1表中结果:

参考技术A --因为没有给出a、b两个表的关联,所以用a.id和b.aid做了关联
update a aa set status=30
where
(select count(status) from b where a.id=b.aid)>0 --确定b表有A表子数据
and
(select count(status) from b where a.id=b.aid and b.status<>30)=0--b表子数据status<>30个数=0个,说明子数据status全部为30本回答被提问者采纳

以上是关于mvc怎么在一个视图里显示两张表啊的主要内容,如果未能解决你的问题,请参考以下文章

android sqlite 如何设置外键

SQLserver怎么把两张不同的表合并成一个指定的视图

mysql里查询时怎么把一张表里的上级ID显示为上级名称?

如何连接两张表,用access?

sql 两张表的联系是主表一个字段是由子表id加号拼接而成,请问怎么连

MVC 4 模态窗口,局部视图和验证