В настоящее время я создал ViewModel, и изначально я собирался просто перечислить «Статус» в виде строки, но теперь я решил сделать его в DropDownList. У меня есть CallStatus как объект объекта. Итак, я решил, что могу просто создать список типов «CallStatus», а затем, когда я создаю свой ViewModel, просто вызовите db.CallStatus.ToList(), чтобы заполнить его. Затем я бы использовал этот список для создания моего DropDownList. Тем не менее, я получаю сообщение об ошибке «Невозможно неявно преобразовать тип« System.Collections.Generic.List »в CPPCallStatus.Models.CallStatus»Невозможно добавить объект в список в ViewModel?
Вот моя виртуальная машина. Я добавил CallStautsTypes внизу, и это то, что я пытаюсь заполнить.
public class CustomerCallVM
{
public int Id { get; set; }
[DisplayName("Customer Name")]
public string CustomerName { get; set; }
public string Subject { get; set; }
public string Comment { get; set; }
[DisplayName("Call Date")]
public DateTime? CallDate { get; set; }
public int? Status { get; set; }
[DisplayName("Status")]
public string StatusName { get; set; }
public int? AssignedTo { get; set; }
[DisplayName("Assigned To")]
public string AssignedToName { get; set; }
[DisplayName("Create Date")]
public DateTime? CreateDate { get; set; }
public CallStatus CallStatusTypes { get; set; }
}
Вот мой репо, где я заполняю виртуальную машину. Я знаю, что мне нужно будет удалить .include в Lambda, но я не думаю, что это проблема на данный момент.
public CustomerCallVM SelectById(int? id)
{
using (DataContext db = new DataContext())
{
db.Configuration.AutoDetectChangesEnabled = false;
CustomerCallVM customerCall = new CustomerCallVM();
var call = db.CustomerCalls.Include(s => s.CallStatus).Where(c => c.Id == id).FirstOrDefault();
if (call != null)
{
customerCall.Id = call.Id;
customerCall.CustomerName = call.CustomerName;
customerCall.Subject = call.Subject;
customerCall.Comment = call.Comment;
customerCall.CallDate = call.CallDate;
customerCall.Status = call.Status;
customerCall.AssignedTo = call.AssignedTo;
customerCall.StatusName = call.CallStatus.StatusName;
customerCall.CallStatusTypes = db.CallStatus.ToList();
}
return customerCall;
}
достаточно легко ... .Подумал, что один сам по себе, но иногда вы смотрите на вещи долго и пропустите что d очевидны. Благодаря! – Caverman