Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC5使用合并相同的表连接1个表,在LINQ中搜索时没有重复记录_C#_Linq_Model View Controller - Fatal编程技术网

C# MVC5使用合并相同的表连接1个表,在LINQ中搜索时没有重复记录

C# MVC5使用合并相同的表连接1个表,在LINQ中搜索时没有重复记录,c#,linq,model-view-controller,C#,Linq,Model View Controller,我是新来的LINQ,有一个问题,试图在查询中连接一个表和LINQ以从所有3个表中获取数据,但不幸的是在MVC web上得到了唯一的结果。如果有人能帮忙,我将不胜感激。 下面是我的SQL查询和结果: SELECT a.[Admin_Id] ,a.[Admin_Name], a.[Admin_Status],a.[Admin_Remarks] ,a.[Admin_CreateBy] ,a2.[Admin_Name],a.[Admin_UpdateBy],a

我是新来的LINQ,有一个问题,试图在查询中连接一个表和LINQ以从所有3个表中获取数据,但不幸的是在MVC web上得到了唯一的结果。如果有人能帮忙,我将不胜感激。 下面是我的SQL查询和结果:

 SELECT a.[Admin_Id] ,a.[Admin_Name], a.[Admin_Status],a.[Admin_Remarks]            
         ,a.[Admin_CreateBy] ,a2.[Admin_Name],a.[Admin_UpdateBy],a1.Admin_Name          
       FROM [ABC].[dbo].[Admin]a            
        join [ABC].[dbo].[Admin]a1 on a.[Admin_UpdateBy] = a1.Admin_Id          
        join [ABC].[dbo].[Admin]a2 on  a.[Admin_CreateBy] = a2.Admin_Id         
        where a.[Admin_Name] like '%l%' or a.[Admin_Remarks] like '%l%'
        or a1.[Admin_Name] like '%l%' or a2.[Admin_Name] like '%l%'

来自SQL的结果:


在本地主机中运行时,我从Web获得唯一的结果,该本地主机的“创建依据”和“更新依据”列为空值或空结果。当按名称搜索时,它也将获得重复记录。例如:“l”

下面是我在MVC Web上的结果:

型号部件中的编码:

public class EntityWM
{

    //Get A row DB
    public Status status { get; set; }
    public Admin AdminModel { get; set; }  // a row from db
   

    // get whole list DB
    public List<Status> statusList { get; set; }
    public List<Admin> AdminModelList { get; set; } 
 
    // pager list
    public IPagedList<Admin> AdminPageList { get; set; }
  
}

视图部分中的编码:

<table class="table">
<tr>
    <th>
     ..................................................... other assignment
    <th></th>
</tr>

@foreach (var item in Model.AdminPageList)

{
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.Admin_Name)

        </td>
      
        <td>
            @Html.DisplayFor(modelItem => Model.statusList.FirstOrDefault(x => x.Status_Id == item.Admin_Status).Status_Desc)
       </td>

        <td>
                @Html.DisplayFor(modelItem => item.Admin_Remarks)
            </td>
            <td>
                @Html.DisplayFor(modelItem => Model.AdminModelList.Where(x => x.Admin_Id == item.Admin_CreateBy).FirstOrDefault().Admin_Name)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Admin_CreateDate)
            </td>
            <td>
                @Html.DisplayFor(modelItem => Model.AdminModelList.Where(x => x.Admin_Id == item.Admin_UpdateBy).FirstOrDefault().Admin_Name)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Admin_UpdateDate)
            </td>
            <td>
                @Html.ActionLink(" ", "Edit", new { id = item.Admin_Id }, new { @class = "glyphicon glyphicon-edit" })
                @Html.ActionLink(" ", "Details", new { id = item.Admin_Id }, new { @class = "glyphicon glyphicon-th-list" })
                @Html.ActionLink(" ", "Delete", new { id = item.Admin_Id }, new { @class = "glyphicon glyphicon-trash" })
            </td>
    </tr>
}

..................................................... 其他任务
@foreach(Model.AdminPageList中的变量项)
{
@DisplayFor(modelItem=>item.Admin\u名称)
@DisplayFor(modelItem=>Model.statusList.FirstOrDefault(x=>x.Status\u Id==item.Admin\u Status).Status\u Desc)
@DisplayFor(modelItem=>item.Admin\u备注)
@DisplayFor(modelItem=>Model.AdminModelList.Where(x=>x.Admin\u Id==item.Admin\u CreateBy).FirstOrDefault().Admin\u Name)
@DisplayFor(modelItem=>item.Admin\u CreateDate)
@DisplayFor(modelItem=>Model.AdminModelList.Where(x=>x.Admin\u Id==item.Admin\u UpdateBy).FirstOrDefault().Admin\u Name)
@DisplayFor(modelItem=>item.Admin\u UpdateDate)
@ActionLink(“,”编辑“,新的{id=item.Admin_id},新的{@class=“glyphicon-glyphicon-Edit”})
@ActionLink(“,”详细信息“,新的{id=item.Admin_id},新的{@class=“glyphicon glyphth list”})
@ActionLink(“,”Delete“,new{id=item.Admin_id},new{@class=“glyphicon-glyphicon-trash”})
}

这不会给出正确的结果。还是有更好、更值得推荐的方法? 干杯

<table class="table">
<tr>
    <th>
     ..................................................... other assignment
    <th></th>
</tr>

@foreach (var item in Model.AdminPageList)

{
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.Admin_Name)

        </td>
      
        <td>
            @Html.DisplayFor(modelItem => Model.statusList.FirstOrDefault(x => x.Status_Id == item.Admin_Status).Status_Desc)
       </td>

        <td>
                @Html.DisplayFor(modelItem => item.Admin_Remarks)
            </td>
            <td>
                @Html.DisplayFor(modelItem => Model.AdminModelList.Where(x => x.Admin_Id == item.Admin_CreateBy).FirstOrDefault().Admin_Name)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Admin_CreateDate)
            </td>
            <td>
                @Html.DisplayFor(modelItem => Model.AdminModelList.Where(x => x.Admin_Id == item.Admin_UpdateBy).FirstOrDefault().Admin_Name)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Admin_UpdateDate)
            </td>
            <td>
                @Html.ActionLink(" ", "Edit", new { id = item.Admin_Id }, new { @class = "glyphicon glyphicon-edit" })
                @Html.ActionLink(" ", "Details", new { id = item.Admin_Id }, new { @class = "glyphicon glyphicon-th-list" })
                @Html.ActionLink(" ", "Delete", new { id = item.Admin_Id }, new { @class = "glyphicon glyphicon-trash" })
            </td>
    </tr>
}