Как определить SQL-представления в модель представления класса в MVC
как определить SQL-представления в модель представления класса MVC и контроллер
мой sql-запрос, который мне нужно использовать
Select dbo.let.Name0, sum (dbo.VCategory.Food) AS FoodSales, sum (dbo.VCategory.Drink) AS DrinkSales, sum (dbo.VCategory.Other) AS OtherSales, COUNT(DISTINCT dbo. VCategory.CheckID) AS Checks from dbo. let, dbo.Check INNER JOIN dbo. VCategory ON dbo. dbo.Check.CheckID = dbo. VCategory.CheckID WHERE (dbo. Check.Status = 3) AND (dbo.Check.OrderType <> 4) AND CAST(dbo. Check.SysDate AS DATE) = '2016-11-18' AND dbo. Check. let = dbo.let.let GROUP BY dbo. let.Name0, dbo.Check.let
моя модель представления
public class resturantClass { public int CheckID { get; set; } public string let { get; set; } public Nullable<byte> Status { get; set; } public Nullable<byte> OrderType { get; set; } public Nullable<System.DateTime> SysDate { get; set; } public string Name0 { get; set; } public Nullable<decimal> Food { get; set; } public Nullable<decimal> Drink{ get; set; } public Nullable<decimal> Other { get; set; } }
Что я уже пробовал:
в контроллерах
resturantClass res = new resturantClass(); var detailslist = ( from outlet in db.FposOutlets from checks in db.FposChecks join vcic in db.VposCheckItemCategories on checks.CheckID equals vcic.CheckID where checks.Status == 3 && checks.OrderType != 4 && outlet.Outlet == checks.Outlet select new { outlet.Outlet, outlet.Name0, checks.SysDate, checks.OrderType, checks.Status, vcic.CheckID, vcic.FoodSales, vcic.BeverageSales, vcic.OtherSales }).ToList(); foreach (var item in detailslist) { res.Outlet = item.Outlet; res.Name0 = item.Name0; res.SysDate = item.SysDate; res.OrderType = item.OrderType; res.Status = item.Status; res.CheckID = item.CheckID; res.Food = item.Food ; res.Drink= item.Drink; res.Other = item.Other; } return View(res);
Dave Kreskowiak
Итак, вы хотите описать проблему или дать сообщения об ошибках, или мы должны просто догадаться?
Member 13058758
модель в представлении razor не распознает эти элементы
public Nullable<decimal> Food { get; set; }
public Nullable<decimal> Drink{ get; set; }
public Nullable<decimal> Other { get; set; }
что существует в sqlview, как определить его в контроллере?
Dave Kreskowiak
Хорошо, "модель в представлении бритвы не распознает ..." ничего не значит. Если вы пытаетесь сказать, что код razor не использует значения, которые находятся в модели, нам нужно будет увидеть код razor, чтобы диагностировать это.
Кроме того, код контроллера, который вы разместили, тоже не имеет особого смысла. Вы перебираете коллекцию и повторно присваиваете значения одному экземпляру "resturantClass", перезаписывая предыдущие значения.
Если вы возвращаете только один объект из базы данных, используйте его .FirstOrDefault() или .SingleOrDefault() вместо .Вызова метода toList().
Member 13058758
я возвращаюсь передать список IEnumerable в представлении Razor