【发布时间】:2015-05-11 02:40:53
【问题描述】:
您好,我正在尝试将以下 SQL 语句转换为其等效的 LINQ 语句,由于我对 .net 非常陌生(编码一天),我已经被困在这几个小时了。
SELECT *
FROM Books
WHERE BookID IN (SELECT BookID
FROM Borrows
WHERE UserID = 2)
这是模型
public class LibUser
{
[Key]
public int UserID { get; set; }
[Required, StringLength(50), Display(Name = "First Name")]
public string UserFirstName { get; set; }
[Required, StringLength(50), Display(Name = "Last Name")]
public string UserLastName { get; set; }
[Required, StringLength(10000), Display(Name = "Residence"), DataType(DataType.MultilineText)]
public string Adress { get; set; }
}
public class Book {
[Key]
public int BookID { get; set; }
public string Title { get; set; }
public string Author { get; set; }
public DateTime Published{ get; set; }
}
public class Borrowed {
[Key]
public int BorrowID { get; set; }
public int UserID { get; set; }
public int BookID { get; set; }
}
非常感谢任何人的帮助。
编辑
上下文类
public class LibraryContext : DbContext
{
public LibraryContext()
: base("libromatic")
{
}
public DbSet<LibUser> LibUsers { get; set; }
public DbSet<Book> Books { get; set; }
public DbSet<Borrowed> Borrows { get; set; }
}
【问题讨论】:
-
另外,无论你是否使用它,都避免使用
Select * -
@bumble_bee_tuna 是的,我意识到我在计算 LINQ 时使用该查询只是为了简单起见
标签: c# sql asp.net-mvc linq