我只是在学习MVC,这是我的第一个项目。我正在创建的是我公司的服务台。现在,我正在处理添加票证。
我尝试使其工作的方式是,我们有一个用户选择的票证类别,例如“ Microsoft Office”。每个类别都有一个技术员。因此,当用户选择类别时,应该自动分配技术人员。这是我目前拥有的代码:
public ActionResult Create(NewTicket newTicket)
{
Ticket ticket = new Ticket();
TicketNote ticketNote = new TicketNote();
try
{
Guid ticketGuid = System.Guid.NewGuid();
//Add Ticket
ticket.TicketId = ticketGuid;
//ticket.TicketNumber =
ticket.CategoryId = newTicket.CategoryId;
ticket.OpenUserId = new Guid("999600FC-709E-4463-84AD-D26894BABB54");
ticket.OpenDate = DateTime.Now;
ticket.TechnicianId = from c in db.Categories
where c.CategoryId == newTicket.CategoryId
select c.PrimaryTechnicianId;
ticket.TicketStatusId = new Guid("00000000-0000-0000-0000-000000000000");
//ticket.CloseDate = DateTime.Now;
tickets.Insert(ticket);
tickets.Commit();
//Add Ticket Note
ticketNote.TicketNoteId = System.Guid.NewGuid();
ticketNote.TicketId = ticketGuid;
ticketNote.TicketNoteDate = DateTime.Now;
ticketNote.Note = newTicket.TicketNote;
ticketNotes.Insert(ticketNote);
ticketNotes.Commit();
return RedirectToAction("Index");
}
//catch(Exception ex)
catch
{
return View();
}
}
我遇到的问题在此行上特别(其余工作正常):
ticket.TechnicianId = from c in db.Categories
where c.CategoryId == newTicket.CategoryId
select c.PrimaryTechnicianId;
我不断收到的错误是“错误1无法在上一行的select语句中将类型'System.Linq.IQueryable'隐式转换为'System.Guid'
我相信这个LINQ:
from c in db.Categories where c.CategoryId == newTicket.CategoryId
select c.PrimaryTechnicianId;
将返回IEnumerable
,因此要分配给ticket.TechnicianId
,您应继续调用First
或Single
,如下所示:
ticket.TechnicianId = (from c in db.Categories
where c.CategoryId == newTicket.CategoryId
select c.PrimaryTechnicianId).Single();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句