C# 如何在单个视图中显示八个LINQ到SQL表中的数据

C# 如何在单个视图中显示八个LINQ到SQL表中的数据,c#,sql,asp.net-mvc,linq,C#,Sql,Asp.net Mvc,Linq,我是MVC新手,我尝试从8个不同的表中提取数据(每个表中有1条记录,但每个表中的每条记录都有几个字段) 我读过如何使用两个表和联接来实现这一点,但当我尝试联接两个以上的表时,会出现错误 每个表在每个记录中都有一个ID字段,这就是我需要查询的内容 更新: 这是我的ViewModel: public class StoreInfoViewModel { public List<AWS_Ticket> tickets { get; set; } pu

我是MVC新手,我尝试从8个不同的表中提取数据(每个表中有1条记录,但每个表中的每条记录都有几个字段)

我读过如何使用两个表和联接来实现这一点,但当我尝试联接两个以上的表时,会出现错误

每个表在每个记录中都有一个ID字段,这就是我需要查询的内容

更新:

这是我的ViewModel:

public class StoreInfoViewModel
    {
        public List<AWS_Ticket> tickets { get; set; }
        public List<AWS_TNF_StepOne> tnf { get; set; }
        public List<AWS_TNF_StepTwo> tnf2 { get; set; }
        public List<AWS_DBU> dbu { get; set; }
        public List<GetStoreInfoResult> storeInfo { get; set; }
    }
以下是我的看法:

@model IEnumerable<Team_Portal_v3.Models.StoreInfoViewModel>

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>


<div>
    <table>
        @foreach (var item in Model)
        {
            <tr>
                <td>
                    Store Number: @Html.DisplayFor(modelItem => item.storeInfo[0].StoreNum)
                </td>
                <td>&nbsp;</td>
                <td>24 Hour Store? @Html.DisplayFor(modelItem => item.storeInfo[0].Is24Hour)</td>
            </tr>
            <tr>
                <td>
                    City / State: @Html.DisplayFor(modelItem => item.storeInfo[0].City) , @Html.DisplayFor(modelItem => item.storeInfo[0].State)
                </td>
                <td>
                    Store Phone: @Html.DisplayFor(modelItem => item.storeInfo[0].StorePhone)
                </td>
                <td>
                    DBU Installed? @Html.DisplayFor(modelItem => item.storeInfo[0].DBUInstalled)
                </td>
            </tr>
            <tr>
                <td>
                    Owner: @Html.DisplayFor(modelItem => item.storeInfo[0].Owner)
                </td>
                <td>
                    Owner Phone: @Html.DisplayFor(modelItem => item.storeInfo[0].OwnerPhone)
                </td>
                <td>
                    Store Status: @Html.DisplayFor(modelItem => item.storeInfo[0].StoreStatus)
                </td>
            </tr>
            <tr>
                <td>
                    Division: @Html.DisplayFor(modelItem => item.storeInfo[0].Division)
                </td>
                <td>
                    Region: @Html.DisplayFor(modelItem => item.storeInfo[0].Region)
                </td>
                <td>
                    Expected Opening Date: @Html.DisplayFor(modelItem => item.storeInfo[0].OpeningDate)
                </td>
            </tr>
        }
    </table>
</div>
@model IEnumerable
@{
ViewBag.Title=“Index”;
}
指数
@foreach(模型中的var项目)
{
门店编号:@Html.DisplayFor(modelItem=>item.storeInfo[0].StoreNum)
24小时存储?@Html.DisplayFor(modelItem=>item.storeInfo[0]。IS24小时)
城市/州:@Html.DisplayFor(modelItem=>item.storeInfo[0].City),@Html.DisplayFor(modelItem=>item.storeInfo[0].State)
商店电话:@Html.DisplayFor(modelItem=>item.storeInfo[0].StorePhone)
是否安装了DBU?@Html.DisplayFor(modelItem=>item.storeInfo[0]。DBUInstalled)
所有者:@Html.DisplayFor(modelItem=>item.storeInfo[0]。所有者)
所有者电话:@Html.DisplayFor(modelItem=>item.storeInfo[0]。所有者电话)
存储状态:@Html.DisplayFor(modelItem=>item.storeInfo[0].StoreStatus)
分部:@Html.DisplayFor(modelItem=>item.storeInfo[0]。分部)
Region:@Html.DisplayFor(modeleItem=>item.storeInfo[0]。Region)
预期的开放日期:@Html.DisplayFor(modelItem=>item.storeInfo[0]。开放日期)
}
我在应用程序的init运行中没有收到任何错误,当我尝试使用和数字ID转到索引时,我发现以下错误:

传递到字典中的模型项的类型为 “Team_Portal_v3.Models.StoreInfoViewModel”,但这本字典 需要类型为的模型项 'System.Collections.Generic.IEnumerable'1[Team\u Portal\u v3.Models.StoreInfoViewModel]'


我哪里出错了?

我不想不受欢迎,但最好在跨越3个连接时使用存储过程

这里的错误消息是不言自明的。您传入了一个
StoreInfoViewModel
,但您的视图需要一个
IEnumberable

您的视图需要更新为只需要一个
StoreInfoViewModel

@model Team_Portal_v3.Models.StoreInfoViewModel

或者您需要从控制器/操作中实际传入
StoreInfoViewModel
列表,那么这些表是否在dbml文件中?它们是否通过外键映射在一起?另外,请包括您尝试的代码。您使用的是什么类型的数据访问层?您是否使用类似ORM的实体框架?您正在将数据加载到什么中?您尝试了哪种类型的Linq语句?8表联接似乎是存储过程的最佳候选。您的表/域结构是什么?我的表位于dbml文件中,没有到外键的映射。我使用实体框架。我没有尝试为所有八个表编写代码,我有三个表,开始看到错误,所以我没有代码发布。这只在我的存储过程返回一条记录时起作用,有四个表可以返回多条记录。所以它出错了。我用更多信息更新了我原来的帖子。
@model Team_Portal_v3.Models.StoreInfoViewModel