Как я могу выполнить CRUD с шаблоном MVVM в ASP.NET веб-приложение
У меня есть 2 слоя в моем веб-приложении. 1. это бизнес-слой с доменными моделями и контекстными классами для каждой модели. 2. есть пользовательский слой с моделями представлений, и он должен быть с контроллерами и представлениями.
Моя задача состоит в том, чтобы сделать CRUD над доменными моделями, но также и над моделями представлений. Итак, у меня есть 2 контекстных класса (один в первом слое и второй во втором слое), которые являются ошибкой.
Как я могу сделать CRUD над обеими моделями (домен и viewmodels), не имея двух контекстных классов?
Когда я делаю контроллер с contextClass из модели домена, у меня появляется ошибка - > показать вам ниже в разделе controller 'details, edit and delete actionResult'
Напр.
//domain model Public class Car:ICar { [Key] public int I'd{get; set;} public string Name{get; set} } //viewModel Public class ViewCar:Car { [Display(Name="Cars model")] public string Name{get; set;} } //controller public ActionResult Details(int? I'd) { if(id==null) {return new HttpStatusCodeResult(HttpStatusCode.BadRequest);} ViewCar viewCar=db.Cars.Find(id); if(viewCar==null) {return HttpNotFound();} return View (viewCar); }
Ошибка находится в строке, где мне нужно найти по идентификатору, и это говорит
"Cannot implicitly convert type 'Project.Services.Car' to 'Project.MVC.ViewModels.ViewCar'. An explicit conversion exists (are you missing a cast?)"
Мой другой вопрос заключается в том, как я могу бросить один проект в другой?
Что я уже пробовал:
Я читал по всему интернету, и там есть похожие ответы от int до string и так далее, но я не нашел никаких примеров от кастинга одного проекта к другому. Так что, пожалуйста, если кто-нибудь может дать мне объяснение, как я могу сделать этот бросок? А как сделать CRUD над моделями в бизнес-слое и над viewModels в пользовательском слое и с одним контекстным классом (как это должно быть в первую очередь)?