MVC#中的内部联接?

MVC#中的内部联接?,c#,asp.net-mvc,entity-framework,asp.net-mvc-5,C#,Asp.net Mvc,Entity Framework,Asp.net Mvc 5,我想把两个表PhieuMuonSach和 要查看的CTPHIEUMOUNSACH Phieumounsach型号: [Table("PhieuMuonSach")] public partial class PhieuMuonSach { [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]

我想把两个表PhieuMuonSach和 要查看的CTPHIEUMOUNSACH


Phieumounsach型号:

[Table("PhieuMuonSach")]
public partial class PhieuMuonSach
{
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
    public PhieuMuonSach()
    {
        CTPhieuMuonSach = new HashSet<CTPhieuMuonSach>();
    }

    [Key]
    public int Id_PhieuMuon { get; set; }

    public int? Id_DocGia { get; set; }

    [Column(TypeName = "date")]
    public DateTime? NgayMuon { get; set; }

    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
    public virtual ICollection<CTPhieuMuonSach> CTPhieuMuonSach { get; set; }

    public virtual TheDocGia TheDocGia { get; set; }
}
[Table("CTPhieuMuonSach")]
public partial class CTPhieuMuonSach
{
    [Key]
    [Column(Order = 0)]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int Id_PhieuMuon { get; set; }

    [Key]
    [Column(Order = 1)]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int Id_Sach { get; set; }

    [Column(TypeName = "date")]
    public DateTime? NgayTra { get; set; }

    [StringLength(20)]
    public string TrangThai { get; set; }

    [StringLength(100)]
    public string GhiChu { get; set; }

    public virtual PhieuMuonSach PhieuMuonSach { get; set; }

    public virtual Sach Sach { get; set; }
}
 public class QuanLyMuonTraSach
{
    public PhieuMuonSach PhieuMuonSach { get; set; }
    public CTPhieuMuonSach CTPhieuMuonSach { get; set; }
    //public Sach Sach { get; set; }
    //public LoaiSach LoaiSach { get; set; }
}
public ActionResult TestNe(int? id)
    {
        using (QuanLyThuVienContext Db = new QuanLyThuVienContext())
        {
            var CTPhieuMuonInnerJoinPhieuMuon = Db.CTPhieuMuonSach
                .AsNoTracking()
                .Join(Db.PhieuMuonSach, ct => ct.Id_PhieuMuon, p => p.Id_PhieuMuon, (ct, p) => new { ct, p })
                .Select(s => new
                {
                    s.p.Id_PhieuMuon,
                    s.p.Id_DocGia,
                    s.ct.Id_Sach,
                    s.p.NgayMuon,
                    s.ct.NgayTra,
                    s.ct.TrangThai,
                    s.ct.GhiChu
                }).AsQueryable();
            var data = CTPhieuMuonInnerJoinPhieuMuon.ToList();

            return View(data);

        }
    }
    @model  IEnumerable<CNPMNC_QLThuVien.Models.QuanLyMuonTraSach>

  @{
    ViewBag.Title = "TestNe";
    Layout = "~/Views/Shared/_Layout_PhieuMuonSach.cshtml";
   }



   <p>
      @Html.ActionLink("Create New", "Create")
   </p>
   <div class="col-sm-offset-1 col-sm-8">
    <table class="table">
         <tr>
              <th>
                Id_Phieu
              </th>
              <th>
                Id_DocGia
              </th>
               <th>
                Id_Sach
              </th>
            <th>
                NgayMuon
            </th>
            <th>
                Ngay Tra
            </th>
            <th>
                Trang Thai
            </th>
            <th>
                Ghi Chu
            </th>


            <th></th>
        </tr>

    @foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.PhieuMuonSach.Id_PhieuMuon)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.PhieuMuonSach.Id_DocGia)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.CTPhieuMuonSach.Id_Sach)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.PhieuMuonSach.NgayMuon)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.CTPhieuMuonSach.NgayTra)
            </td>

            <td>
                @Html.DisplayFor(modelItem => item.CTPhieuMuonSach.TrangThai)
            </td>

            <td>
                @Html.DisplayFor(modelItem => item.CTPhieuMuonSach.GhiChu)
            </td>


            @*<td>
                    @Html.ActionLink("Edit", "Edit", new { id = item.Id_PhieuMuon, idS = item.Id_Sach }) |
                    @Html.ActionLink("Details", "Details", new { id = item.Id_PhieuMuon, idS = item.Id_Sach }) |
                    @Html.ActionLink("Delete", "Delete", new { id = item.Id_PhieuMuon, idS = item.Id_Sach })
                </td>*@
        </tr>
    }

</table>
</
QuanLyMuonTraSach型号:

[Table("PhieuMuonSach")]
public partial class PhieuMuonSach
{
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
    public PhieuMuonSach()
    {
        CTPhieuMuonSach = new HashSet<CTPhieuMuonSach>();
    }

    [Key]
    public int Id_PhieuMuon { get; set; }

    public int? Id_DocGia { get; set; }

    [Column(TypeName = "date")]
    public DateTime? NgayMuon { get; set; }

    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
    public virtual ICollection<CTPhieuMuonSach> CTPhieuMuonSach { get; set; }

    public virtual TheDocGia TheDocGia { get; set; }
}
[Table("CTPhieuMuonSach")]
public partial class CTPhieuMuonSach
{
    [Key]
    [Column(Order = 0)]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int Id_PhieuMuon { get; set; }

    [Key]
    [Column(Order = 1)]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int Id_Sach { get; set; }

    [Column(TypeName = "date")]
    public DateTime? NgayTra { get; set; }

    [StringLength(20)]
    public string TrangThai { get; set; }

    [StringLength(100)]
    public string GhiChu { get; set; }

    public virtual PhieuMuonSach PhieuMuonSach { get; set; }

    public virtual Sach Sach { get; set; }
}
 public class QuanLyMuonTraSach
{
    public PhieuMuonSach PhieuMuonSach { get; set; }
    public CTPhieuMuonSach CTPhieuMuonSach { get; set; }
    //public Sach Sach { get; set; }
    //public LoaiSach LoaiSach { get; set; }
}
public ActionResult TestNe(int? id)
    {
        using (QuanLyThuVienContext Db = new QuanLyThuVienContext())
        {
            var CTPhieuMuonInnerJoinPhieuMuon = Db.CTPhieuMuonSach
                .AsNoTracking()
                .Join(Db.PhieuMuonSach, ct => ct.Id_PhieuMuon, p => p.Id_PhieuMuon, (ct, p) => new { ct, p })
                .Select(s => new
                {
                    s.p.Id_PhieuMuon,
                    s.p.Id_DocGia,
                    s.ct.Id_Sach,
                    s.p.NgayMuon,
                    s.ct.NgayTra,
                    s.ct.TrangThai,
                    s.ct.GhiChu
                }).AsQueryable();
            var data = CTPhieuMuonInnerJoinPhieuMuon.ToList();

            return View(data);

        }
    }
    @model  IEnumerable<CNPMNC_QLThuVien.Models.QuanLyMuonTraSach>

  @{
    ViewBag.Title = "TestNe";
    Layout = "~/Views/Shared/_Layout_PhieuMuonSach.cshtml";
   }



   <p>
      @Html.ActionLink("Create New", "Create")
   </p>
   <div class="col-sm-offset-1 col-sm-8">
    <table class="table">
         <tr>
              <th>
                Id_Phieu
              </th>
              <th>
                Id_DocGia
              </th>
               <th>
                Id_Sach
              </th>
            <th>
                NgayMuon
            </th>
            <th>
                Ngay Tra
            </th>
            <th>
                Trang Thai
            </th>
            <th>
                Ghi Chu
            </th>


            <th></th>
        </tr>

    @foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.PhieuMuonSach.Id_PhieuMuon)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.PhieuMuonSach.Id_DocGia)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.CTPhieuMuonSach.Id_Sach)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.PhieuMuonSach.NgayMuon)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.CTPhieuMuonSach.NgayTra)
            </td>

            <td>
                @Html.DisplayFor(modelItem => item.CTPhieuMuonSach.TrangThai)
            </td>

            <td>
                @Html.DisplayFor(modelItem => item.CTPhieuMuonSach.GhiChu)
            </td>


            @*<td>
                    @Html.ActionLink("Edit", "Edit", new { id = item.Id_PhieuMuon, idS = item.Id_Sach }) |
                    @Html.ActionLink("Details", "Details", new { id = item.Id_PhieuMuon, idS = item.Id_Sach }) |
                    @Html.ActionLink("Delete", "Delete", new { id = item.Id_PhieuMuon, idS = item.Id_Sach })
                </td>*@
        </tr>
    }

</table>
</
QuanlymuOntraschController:

[Table("PhieuMuonSach")]
public partial class PhieuMuonSach
{
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
    public PhieuMuonSach()
    {
        CTPhieuMuonSach = new HashSet<CTPhieuMuonSach>();
    }

    [Key]
    public int Id_PhieuMuon { get; set; }

    public int? Id_DocGia { get; set; }

    [Column(TypeName = "date")]
    public DateTime? NgayMuon { get; set; }

    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
    public virtual ICollection<CTPhieuMuonSach> CTPhieuMuonSach { get; set; }

    public virtual TheDocGia TheDocGia { get; set; }
}
[Table("CTPhieuMuonSach")]
public partial class CTPhieuMuonSach
{
    [Key]
    [Column(Order = 0)]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int Id_PhieuMuon { get; set; }

    [Key]
    [Column(Order = 1)]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int Id_Sach { get; set; }

    [Column(TypeName = "date")]
    public DateTime? NgayTra { get; set; }

    [StringLength(20)]
    public string TrangThai { get; set; }

    [StringLength(100)]
    public string GhiChu { get; set; }

    public virtual PhieuMuonSach PhieuMuonSach { get; set; }

    public virtual Sach Sach { get; set; }
}
 public class QuanLyMuonTraSach
{
    public PhieuMuonSach PhieuMuonSach { get; set; }
    public CTPhieuMuonSach CTPhieuMuonSach { get; set; }
    //public Sach Sach { get; set; }
    //public LoaiSach LoaiSach { get; set; }
}
public ActionResult TestNe(int? id)
    {
        using (QuanLyThuVienContext Db = new QuanLyThuVienContext())
        {
            var CTPhieuMuonInnerJoinPhieuMuon = Db.CTPhieuMuonSach
                .AsNoTracking()
                .Join(Db.PhieuMuonSach, ct => ct.Id_PhieuMuon, p => p.Id_PhieuMuon, (ct, p) => new { ct, p })
                .Select(s => new
                {
                    s.p.Id_PhieuMuon,
                    s.p.Id_DocGia,
                    s.ct.Id_Sach,
                    s.p.NgayMuon,
                    s.ct.NgayTra,
                    s.ct.TrangThai,
                    s.ct.GhiChu
                }).AsQueryable();
            var data = CTPhieuMuonInnerJoinPhieuMuon.ToList();

            return View(data);

        }
    }
    @model  IEnumerable<CNPMNC_QLThuVien.Models.QuanLyMuonTraSach>

  @{
    ViewBag.Title = "TestNe";
    Layout = "~/Views/Shared/_Layout_PhieuMuonSach.cshtml";
   }



   <p>
      @Html.ActionLink("Create New", "Create")
   </p>
   <div class="col-sm-offset-1 col-sm-8">
    <table class="table">
         <tr>
              <th>
                Id_Phieu
              </th>
              <th>
                Id_DocGia
              </th>
               <th>
                Id_Sach
              </th>
            <th>
                NgayMuon
            </th>
            <th>
                Ngay Tra
            </th>
            <th>
                Trang Thai
            </th>
            <th>
                Ghi Chu
            </th>


            <th></th>
        </tr>

    @foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.PhieuMuonSach.Id_PhieuMuon)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.PhieuMuonSach.Id_DocGia)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.CTPhieuMuonSach.Id_Sach)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.PhieuMuonSach.NgayMuon)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.CTPhieuMuonSach.NgayTra)
            </td>

            <td>
                @Html.DisplayFor(modelItem => item.CTPhieuMuonSach.TrangThai)
            </td>

            <td>
                @Html.DisplayFor(modelItem => item.CTPhieuMuonSach.GhiChu)
            </td>


            @*<td>
                    @Html.ActionLink("Edit", "Edit", new { id = item.Id_PhieuMuon, idS = item.Id_Sach }) |
                    @Html.ActionLink("Details", "Details", new { id = item.Id_PhieuMuon, idS = item.Id_Sach }) |
                    @Html.ActionLink("Delete", "Delete", new { id = item.Id_PhieuMuon, idS = item.Id_Sach })
                </td>*@
        </tr>
    }

</table>
</
我的观点:

[Table("PhieuMuonSach")]
public partial class PhieuMuonSach
{
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
    public PhieuMuonSach()
    {
        CTPhieuMuonSach = new HashSet<CTPhieuMuonSach>();
    }

    [Key]
    public int Id_PhieuMuon { get; set; }

    public int? Id_DocGia { get; set; }

    [Column(TypeName = "date")]
    public DateTime? NgayMuon { get; set; }

    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
    public virtual ICollection<CTPhieuMuonSach> CTPhieuMuonSach { get; set; }

    public virtual TheDocGia TheDocGia { get; set; }
}
[Table("CTPhieuMuonSach")]
public partial class CTPhieuMuonSach
{
    [Key]
    [Column(Order = 0)]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int Id_PhieuMuon { get; set; }

    [Key]
    [Column(Order = 1)]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int Id_Sach { get; set; }

    [Column(TypeName = "date")]
    public DateTime? NgayTra { get; set; }

    [StringLength(20)]
    public string TrangThai { get; set; }

    [StringLength(100)]
    public string GhiChu { get; set; }

    public virtual PhieuMuonSach PhieuMuonSach { get; set; }

    public virtual Sach Sach { get; set; }
}
 public class QuanLyMuonTraSach
{
    public PhieuMuonSach PhieuMuonSach { get; set; }
    public CTPhieuMuonSach CTPhieuMuonSach { get; set; }
    //public Sach Sach { get; set; }
    //public LoaiSach LoaiSach { get; set; }
}
public ActionResult TestNe(int? id)
    {
        using (QuanLyThuVienContext Db = new QuanLyThuVienContext())
        {
            var CTPhieuMuonInnerJoinPhieuMuon = Db.CTPhieuMuonSach
                .AsNoTracking()
                .Join(Db.PhieuMuonSach, ct => ct.Id_PhieuMuon, p => p.Id_PhieuMuon, (ct, p) => new { ct, p })
                .Select(s => new
                {
                    s.p.Id_PhieuMuon,
                    s.p.Id_DocGia,
                    s.ct.Id_Sach,
                    s.p.NgayMuon,
                    s.ct.NgayTra,
                    s.ct.TrangThai,
                    s.ct.GhiChu
                }).AsQueryable();
            var data = CTPhieuMuonInnerJoinPhieuMuon.ToList();

            return View(data);

        }
    }
    @model  IEnumerable<CNPMNC_QLThuVien.Models.QuanLyMuonTraSach>

  @{
    ViewBag.Title = "TestNe";
    Layout = "~/Views/Shared/_Layout_PhieuMuonSach.cshtml";
   }



   <p>
      @Html.ActionLink("Create New", "Create")
   </p>
   <div class="col-sm-offset-1 col-sm-8">
    <table class="table">
         <tr>
              <th>
                Id_Phieu
              </th>
              <th>
                Id_DocGia
              </th>
               <th>
                Id_Sach
              </th>
            <th>
                NgayMuon
            </th>
            <th>
                Ngay Tra
            </th>
            <th>
                Trang Thai
            </th>
            <th>
                Ghi Chu
            </th>


            <th></th>
        </tr>

    @foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.PhieuMuonSach.Id_PhieuMuon)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.PhieuMuonSach.Id_DocGia)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.CTPhieuMuonSach.Id_Sach)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.PhieuMuonSach.NgayMuon)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.CTPhieuMuonSach.NgayTra)
            </td>

            <td>
                @Html.DisplayFor(modelItem => item.CTPhieuMuonSach.TrangThai)
            </td>

            <td>
                @Html.DisplayFor(modelItem => item.CTPhieuMuonSach.GhiChu)
            </td>


            @*<td>
                    @Html.ActionLink("Edit", "Edit", new { id = item.Id_PhieuMuon, idS = item.Id_Sach }) |
                    @Html.ActionLink("Details", "Details", new { id = item.Id_PhieuMuon, idS = item.Id_Sach }) |
                    @Html.ActionLink("Delete", "Delete", new { id = item.Id_PhieuMuon, idS = item.Id_Sach })
                </td>*@
        </tr>
    }

</table>
</
@model IEnumerable
@{
ViewBag.Title=“TestNe”;
Layout=“~/Views/Shared/\u Layout\u PhieuMuonSach.cshtml”;
}

@ActionLink(“新建”、“创建”)

艾德菲尤 迪乌·多吉亚 伊杜萨克 Ngaymouon Ngay-Tra 庄泰 朱琪琪 @foreach(模型中的var项目) { @DisplayFor(modelItem=>item.PhieuMuonSach.Id\u PhieuMuon) @DisplayFor(modeleItem=>item.PhieuMuonSach.Id\u DocGia) @DisplayFor(modeleItem=>item.CTPhieuMuonSach.Id\u Sach) @DisplayFor(modelItem=>item.PhieuMuonSach.NgayMuon) @DisplayFor(modeleItem=>item.CTPhieuMuonSach.NgayTra) @DisplayFor(modelItem=>item.CTPhieuMuonSach.TrangThai) @DisplayFor(modelItem=>item.CTPhieuMuonSach.GhiChu) @* @ActionLink(“编辑”,“编辑”,新的{id=item.id\u PhieuMuon,id=item.id\u Sach})| @ActionLink(“细节”,“细节”,新的{id=item.id\u PhieuMuon,id=item.id\u Sach})| @ActionLink(“删除”,“删除”,新的{id=item.id\u PhieuMuon,id=item.id\u Sach}) *@ }
因为您的查询生成匿名对象的集合(使用
selectnew{…
-您查看expects
IEnumerable
所以您需要向其传递一组
QuanLyMuonTraSach
抱歉,我刚刚学习了mvc,所以仍然不理解您的想法!您能给我演示一下您所说的吗?我的英语很差,您知道^要匹配视图中的模型,请选择新的QuanLyMuonTraSach{//在此处设置属性}