Как выбрать определенные столбцы и объединить таблицы с Entity Framework? - PullRequest
0 голосов
/ 30 октября 2019

Мне нужно получить данные из SQL Server в моем представлении сетки данных в Winforms

SELECT 
    Managements.OrderID, Managements.BookReturnDate, Managements.Money,
    Books.bookName
FROM
    Managements
INNER JOIN 
    Users ON Users.UserID = Managements.Username_UserID
INNER JOIN  
    Books ON Books.bookID = Managements.Book_bookID

Как преобразовать приведенный выше запрос в код для Entity Framework?

Ответы [ 2 ]

0 голосов
/ 30 октября 2019

Используйте linq

 var s = from management in dbContext.Managements
         join user in dbContext.Users on users.UserId equals management.Username_UserID
         join book in dbContext.Books on book.BookId equals management.Book_bookID
         select management.OrderID, management.BookReturnDate, management.Money,
            book.bookName
0 голосов
/ 30 октября 2019

Насколько я вижу, таблица управления имеет один ко многим с таблицами пользователей и книг.

Если это так, вы можете добавить свойства модели управления в код и включить эти таблицы при извлечении. данные из таблицы управления SQL.

public class Management{
    public int ManagmentId { get; set; }
    public int UserId { get; set;}
    public List<User> Users { get; set;}
    public int BookId { get; set;}
    public List<Book> Books { get; set;}
} 

Это должен быть ваш класс управления. Для запроса в Entity Framework попробуйте что-то вроде этого:

public Managment GetData(int managmentId){
    var data = context.Management
       .Include(u => u.Users)
       .Include(b => b.Books)
       .FirstOrDefault(m => m.Id == managmentId); 
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...