Asp.net mvc (MVC#)关于我的维护计划系统和维护记录的建议
我有这个维护计划系统,在im中使用MVC#实体框架 我有这张桌子 卡车表有-卡车id,登记号,公里运行读数,我有一个JobOrder表,我想在卡车表中获得卡车id,以便我可以在我有这个JobOrder控制器的特定卡车上添加JobOrderAsp.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);
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作为主键