MVC使用linq多表链接查询的数据在视图页显示方法

经过一上午的研究终于成功找到解决办法
首先是Action代码

var menus = from a in dc.Menu
                        join b in dc.Category on a.CategoryId equals b.CategoryID
                        select new
                        {
                            a.MenuID,
                            a.Price,
                            a.Sales,
                            a.Shipping,
                            a.Store,
                            a.image,
                            a.Details,
                            a.MenuName,
                            b.CategoryName,
                        };                       
                List<dynamic> oneList = new List<dynamic>();
                foreach (var item in menus.ToList())
                {
                    dynamic dyObj = new ExpandoObject();
                    //需要引用命名空间 using System.Dynamic
                    dyObj.MenuName = item.MenuName;
                    dyObj.CategoryName = item.CategoryName;
                    dyObj.MenuID = item.MenuID;
                    dyObj.Price = item.Price;
                    dyObj.Store = item.Store;
                    dyObj.Sales = item.Sales;
                    dyObj.Details = item.Details;
                    dyObj.image = item.image;
                    dyObj.Shipping = item.Shipping;
                    oneList.Add(dyObj);
                }
                ViewBag.data = oneList;
                return View();

然后视图页的代码

 <table class="table datatable_simple" id="assets-data-table">
                    <thead>
                        <tr>
                            <th>ID</th>
                            <th>名称</th>
                            <th>分类</th>
                            <th>价格</th>
                            <th>库存</th>
                            <th>运费</th>
                            <th>销量</th>
                            <th>详情</th>
                            <th>操作</th>
                        </tr>
                    </thead>
                    <tbody id="tbody">

                        @foreach (var asset in ViewBag.data)
                        {
                            <tr>
                                <td>@asset.MenuID</td>
                                <td>@asset.MenuName</td>
                                <td>@asset.CategoryName</td>
                                <td>@asset.Price$</td>
                                <td>@asset.Store</td>
                                <td>@asset.Shipping</td>
                                <td>@asset.Sales</td>
                                <td>@asset.Details</td>
                                <td>
                                    <a class="btn btn-primary" onclick="Update('@asset.MenuID')">编辑</a>
                                    <a class="btn btn-primary" onclick="Delete('@asset.MenuID')">删除</a>
                                </td>


                            </tr>
                        }
                    </tbody>
                </table>

运行结果
MVC使用linq多表链接查询的数据在视图页显示方法