Asp.net mvc (MVC#)关于我的维护计划系统和维护记录的建议

Asp.net mvc (MVC#)关于我的维护计划系统和维护记录的建议,asp.net-mvc,entity-framework,linq,Asp.net Mvc,Entity Framework,Linq,我有这个维护计划系统,在im中使用MVC#实体框架 我有这张桌子 卡车表有-卡车id,登记号,公里运行读数,我有一个JobOrder表,我想在卡车表中获得卡车id,以便我可以在我有这个JobOrder控制器的特定卡车上添加JobOrder public ActionResult AddJobOrder(JobOrderModel jo, int id) { var AddJobOrder = db.trucks.FirstOrDefault(s => s.id == id);

我有这个维护计划系统,在im中使用MVC#实体框架

我有这张桌子 卡车表有-卡车id,登记号,公里运行读数,我有一个JobOrder表,我想在卡车表中获得卡车id,以便我可以在我有这个JobOrder控制器的特定卡车上添加JobOrder

public ActionResult AddJobOrder(JobOrderModel jo, int id)
{
    var AddJobOrder = db.trucks.FirstOrDefault(s => s.id == id);

    var addjo = new joborder()
        {
            truck_no = AddJobOrder,
            description = jo.Description,
            worked_performed = jo.worked_performed,
            quantity = jo.Quantity,
            spare_parts = jo.SpareParts,
            run = jo.kilometer_run,
            date_finished = jo.DateFinished,
            date_started = jo.DateFinished,
        };

    if (!ModelState.IsValid)
    {
        db.joborders.Add(addjo);
        db.SaveChanges();
        return View(jo);

    }
    return View(jo);

}
我收到以下错误:

错误4无法将类型“Pms_system.truck”隐式转换为“int”

这是我的模型

public class JobOrderModel
{
    public int truck_no { get; set; }
    public DateTime DateStarted { get; set; }
    public DateTime DateFinished { get; set; }
    public string SpareParts { get; set; }
    public int Quantity { get; set; }
    public string Description { get; set; }
    public int kilometer_run { get; set; }
    public string worked_performed { get; set; }

}

请帮我获取卡车id。

看起来这只是从卡车中取出id的问题-毕竟,您奇怪命名的
AddJobOrder
变量可能是
truck
或类似的类型。我想你需要的只是:

truck_no = AddJobOrder.id,
毕竟,这就是您在查询中获取卡车ID的方式。如果你只需要卡车ID,那么你为什么需要这个查询还不完全清楚,反正这个ID已经提供给了这个方法——你现在所做的就是检查是否有这样的记录,尽管您应该通过查看
FirstOrDefault
是否返回
null
来进行检查


我还强烈建议您仔细查看您使用的名称,包括大写和语义名称。(您的
AddJobOrder
变量应该被称为
truck
或类似的名称。它与方法同名的事实让人倍感困惑!)

那么错误在哪一行?如果是
var AddJobOrder=db.trucks.FirstOrDefault(s=>s.id==id)
我们需要了解更多关于
db.trucks的信息。(我还强烈建议您开始遵循.NET命名约定。)truck_no=AddJobOrder,这是错误db.trucks将Id作为主键