headlyan
2016-06-22 08:28
采纳率: 100%
浏览 1.5k
已采纳

linq to sql中操作两张表联查,有一个地方报错

各位大牛,本人小菜,做的是两个表增删改查,控制器中用linq to sql ,ui是cshtml,有点紧张,说不清楚。贴图
![图片说明
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • blownewbee 2016-06-22 09:17
    已采纳
    点赞 打赏 评论
  • headlyan 2016-06-22 10:25

    index.cshtml主页面代码
    @model IEnumerable

    @{
    ViewBag.Title = "Index";
    }

    Index

    @Html.ActionLink("Create New", "Create")
    @Html.ActionLink("Add new ", "Add")

    @using (Html.BeginForm(@*"index", "TUsers", new {index=1 }*@))
    {
    

    用户名: @Html.TextBox("UserName")
    用户id: @Html.TextBox("UserID")

    }

    @foreach (var item in Model) { }
    用户id 用户名 昵称 是否机器人 身上的金币 银行金币 最后登录ip 所有登陆次数 最后登录时间 用户类型 操作
    @Html.DisplayFor(modelItem => item.UserID) @Html.DisplayFor(modelItem => item.TUsers.UserName) @Html.DisplayFor(modelItem => item.TUsers.NickName) @Html.DisplayFor(modelItem => item.TUsers.IsRobot) @Html.DisplayFor(modelItem => item.WalletMoney) @Html.DisplayFor(modelItem => item.BankMoney) @Html.DisplayFor(modelItem => item.LastLoginIP) @Html.DisplayFor(modelItem => item.AllLoginTime) @Html.DisplayFor(modelItem => item.LastLoginTM) @Html.DisplayFor(modelItem => item.UserType) @Html.ActionLink("修改", "Edit", new { id=item.UserID }) | @Html.ActionLink("修改主表", "Update", new {id=item.UserID })| @Html.ActionLink("查看详情", "Details", new { id=item.UserID }) | @Html.ActionLink("删除", "Delete", new { id=item.UserID })
    点赞 打赏 评论
  • headlyan 2016-06-22 10:26

    控制器中的方法:
    public ActionResult Index(string UserName, int? UserID,int index=1)
    {

            UserName = UserName ?? "";
            UserID = UserID ?? 0;
            var list = from t in db.TUsers
                       join i in db.TUserInfo
                       on t.UserID equals i.UserID
                       orderby t.UserID descending
                       where t.IsRobot == 0
                       where UserID == t.UserID || UserID == 0
                       where t.UserName.Contains(UserName) || UserName == ""
                       //.Skip((index - 1) * 10)
                       //.Take(10)
                       select new UserViewElement
                       {
                           UserID = t.UserID,
                           UserName = t.UserName,
                           NickName = t.NickName,
                           IsRobot = t.IsRobot,
                           WalletMoney = i.WalletMoney,
                           BankMoney = i.BankMoney,
                           LastLoginIP = i.LastLoginIP,
                           LastLoginTM = i.LastLoginTM,
                           AllLoginTM = i.AllLoginTime
                       };
                           return View(list.ToList());
    
    点赞 打赏 评论
  • headlyan 2016-06-22 10:30

    我本来是还要做一个分页的,现在主页面数据出不来我就先把分页的代码注释掉了。然后再运行主页面,报错:
    "传入字典的模型项的类型为“System.Collections.Generic.List1[User多表联查.Controllers.UserViewElement]”,但此字典需要类型“System.Collections.Generic.IEnumerable1[User多表联查.Models.TUserInfo]”的模型项。"

    点赞 打赏 评论

相关推荐 更多相似问题