2017-10-04 43 views
0

我有2个表 - 书和票(id,borrowingDate,landingDate,idBook) - 我需要一种方法来验证书是否可用或使用我的DateTime属性;如果borrowingDate为空 - >可预订 有我的模型类: 书:如何访问外键数据中的数据

public class Book 
    { 
     public Book() 
     { 

     } 
     [Key] 
     public int IdBook { get; set; } 
     public string Title { get; set; } 

     [ForeignKey("Author")] 
     public int IdAuthor{ get; set; } 
     public Author Author { get; set; } 
     public ICollection<Ticket> Tickets { get; set; } 
    } 

票:

public class Ticket 
    { 
     public Ticket() 
     { 

     } 

     [Key] 
     public int IdTicket { get; set; } 
     public DateTime BorrowingDate { get; set; } 
     public DateTime EstimatedLandingDate { get; set; } 
     public DateTime? LandingTime { get; set; } 

     [ForeignKey("Book")] 
     public int IdBook { get; set; } 
     public Book Book { get; set; } 
    } 
+0

1)我们不会为你写代码,你缺少你的主代码2)在你的票类中为什么你要拉如果id book已经在book class中,整个book class和int idBook都是? 3)如果您决定将其中一个基于另一个基于另一个填充到无限循环中,则无需在书类中收集一些门票,特别是如果您将书类放回到门票中。 – Danimal

回答

0

这是否帮助?

var availableBooks = books.Where(b => b.Tickets.Where(t => t.BorrowingDate == null).Count()== 0).ToList();

这假设借贷日期是可以为空的(这不是你的模型中的情况)。如果不是,你必须与“DateTime.MinValue”比较而不是null