我想使用表Transaction()中的外键从表Employee中调用FirstName,并在部分视图的dataTable上查看它。这是我的简短数据库图:
javascript - 从外键从dbo.Employee调用FirstName-LMLPHP

这就是我所说的数据表:
索引检视

<div class="card-body">
        <div class="table-responsive">
            <div id="caTable"></div>
        </div>
</div>


js:

$(function () {
    FetchCashAdvanceTransaction();

});

function FetchCashAdvanceTransaction() {
    var model = $('#caTable');
    $.ajax({
        url: '/Transaction/GetOpenCATransaction',
        contentType: 'application/html ; charset:utf-8',
        type: 'GET',
        dataType: 'html'
    })
        .success(function (result) { model.empty().append(result); })
}


控制者

[HttpGet]
public ActionResult GetOpenCATransaction()
{
    using (var context = new dbavlincacctgEntities())
    {
        catransList = context.CATransactions.ToList();
    }
    return PartialView("_CATransaction", catransList);
}


部分视图

<table class="table table-bordered" id="dataTable" style="width:100%" cellspacing="0">
    <thead>
        <tr>
            <th>ID</th>
            <th>CA Number</th>
            <th>Requestor</th>
            <th>Payee</th>
            <th>Total CA Amount</th>
            <th>Status</th>
            <th>Action</th>
        </tr>
    </thead>
    <tbody>
        @if (Model != null)
        {
            foreach (var item in Model)
            {
                <tr>
                    <td>@item.TransID</td>
                    <td>@item.TransactionNumber</td>
                    <td>@item.RequestorID</td>
                    <td>@item.Payee</td>
                    <td>@item.TotalAmount</td>
                    <td>@item.Status</td>
                    <td><button class="btn btn-primary">View</button> <button class="btn btn-danger">Delete</button></td>
                </tr>
            }
        }
    </tbody>
</table>


此代码显示整数RequestorID(显然,因为我从Model调用它)。我不知道如何使用FK从其他模型显示名字。如果有帮助,我就使用EF6。谢谢!

最佳答案

您需要更改模型以包含Employee的字段-声明一个ViewModel。
根据实体的设置方式,您可以直接(通过外键关系)或通过获取相关实体并在LINQ中加入Join来间接地从相关实体中查询和提取数据。


查看Loading Related Entities EF,尤其是“显式加载”部分,根据您的实体设置,可以在其中使用Collection方法或Reference方法。


最后,如果您的实体类中没有支持,您也可以加入数据。
一旦数据包含Employee信息,则显示它就相对容易了,看起来您已经知道如何做。

07-24 18:03
查看更多