【问题标题】:LINQ .Include()LINQ .Include()
【发布时间】:2015-01-22 14:33:05
【问题描述】:

我正在尝试编写一些 LINQ 来加入这些表,但它给了我错误。这是我的代码

public PartialViewResult Getjobs(int id)
{
    using (var db = new MTEntities())
    {
        var jobs = db.jobs.Include(j => j.jobslist)
            .Include(jl => jl.jobslist.model_jobslist
            .Where(aa=>aa.jobslist.JobsListID==jl.jobslist.model_jobslist.JobsListID))
            .Where(bki => bki.BookingID==id)
            .ToList();

        if (jobs != null)
        {
            return PartialView("_JobDetails", jobs);
        }

我正在尝试从 model_joblist 表中显示传入预订 ID 的大致时间。

<th>
    @Html.DisplayNameFor(model =>model.jobslist.model_jobslist.ApproxTime))
</th>

这可能吗?

错误 5“System.Collections.Generic.ICollection”不包含“JobsListID”的定义,并且找不到接受“System.Collections.Generic.ICollection”类型的第一个参数的扩展方法“JobsListID”(是您缺少 using 指令或程序集引用?) Controllers\BookingController.cs 90 97 MechanicTracker 这就是错误

【问题讨论】:

    标签: asp.net-mvc linq entity-framework


    【解决方案1】:

    这里有多个错误。首先,我建议查找包含,因为包含不用于连接。您根本不需要它来进行查询,但出于性能原因,它会很有用。

    其次,传递给_JobDetails 的作业将是List&lt;job&gt; 类型,所以@Html.DisplayNameFor(model =&gt;model.jobslist.model_jobslist.ApproxTime)) 是错误的。

    第三,如果你想显示 ApproxTime 的值,你需要@Html.DisplayFor 而不是@Html.DisplayNameFor。但是,由于 sn-p 在 th 元素中,您可能确实想要 DisplayNameFor 并且您根本没有发布相关的代码。

    要创建您的查询,您可以使用:

    var jobs = db.jobs.Where(bki => bki.BookingID==id).ToList();
    

    如果您需要它们以提高性能,请稍后添加 Includes。有关此问题的帮助,请参阅答案末尾的链接。

    然后显示它将取决于你想要什么。您将拥有一份工作列表,因此可能类似于:

    foreach (var job in Model) {
        ...Some HTML...
        job.jobslist.model_jobslist.ApproxTime.ToString("whatever date format you want")
        ...Some more HTML...
    }
    

    一些有用的链接:

    Date and time formats

    How to use the include statement

    How to use the join statement

    【讨论】:

    • 好的,所以我可以显示那个查询的大概时间?我不需要加入表格吗?
    • @user2790781 无需加入。只要您在模型中正确设置了所有外键,实体框架就会处理所有关系。
    猜你喜欢
    • 1970-01-01
    • 2023-02-11
    • 1970-01-01
    • 2013-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多