簡體   English   中英

如何 select 特定列和連接表與實體框架?

[英]How to select specific columns and join tables with Entity Framework?

我需要從 SQL 服務器獲取數據到我在 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

如何將上面的查詢轉換為實體框架的代碼?

使用 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

據我所見,管理表與用戶表和圖書表是一對多的。

如果是這種情況,您可以將屬性添加到代碼中的管理 model 中,並在您從 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;}
} 

這應該是您的管理 class。 對於實體框架中的查詢,請嘗試以下操作:

public Managment GetData(int managmentId){
    var data = context.Management
       .Include(u => u.Users)
       .Include(b => b.Books)
       .FirstOrDefault(m => m.Id == managmentId); 
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM