Объединение двух таблиц и запись запроса из них в список - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть 2 таблицы в базе данных - клиент и продукт.Я делаю выбор, пропуская первый ряд в таблице и затем получая два верхних ряда.Результат, который мне нужно получить в списке cusPod.

List<Customer> customers = db.Database.SqlQuery<Customer>("SELECT * FROM Customers ORDER BY CustomerId OFFSET 1 ROWS FETCH NEXT 2 ROWS ONLY").ToList();
List<Product> products = db.Database.SqlQuery<Product>("SELECT * FROM Products ORDER BY ProductId OFFSET 1 ROWS FETCH NEXT 2 ROWS ONLY").ToList();
            var listSas = from p in products
                          join c in customers on p.ProductId equals c.CustomerId
                          select new { ProductId = p.ProductId, ProductName = p.ProductName, DateStart = p.DateStart, DateEnd = p.DateEnd, DateRegister = p.DateRegister, PriceCustomer = p.PriceCustomer, CheckPay = p.CheckPay, CustomerId = p.CustomerId, FIO = c.FIO, Email = c.Email, PhoneNumber = c.PhoneNumber };
            SidebarController.cusPod = listSas.ToList();

как мне это сделать правильно?

1 Ответ

0 голосов
/ 29 апреля 2019

Из кода кажется, что вы используете Entity Framework в качестве ORM, поэтому вы можете легко использовать Skip и Take методы EF, которые являются отличными функциями, вместо того, чтобы писать жестко закодированный sql. например:

db.Customers.OrderBy(c => c.CustomerId).Skip(1).Take(2);

Остальная часть вашей логики выглядит нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...