假設我有一個名爲BookService的服務,並且我有一個名爲GetAllBooks
,GetBookById
等的方法。現在我想獲取最近修改過的所有書籍,那麼我需要另一種方法嗎?或者我應該使用GetAllBooks().Where(....)
?何時爲服務創建方法?
而在下面的代碼中,GetBooksByAuthorA
和GetBooksByAuthorB
之間有區別嗎?
public List<Book> GetAllBooks()
{
return _context.Books.ToList();
}
public List<Book> GetBooksByAuthorA(string author)
{
return _context.Books.Where(a => a.Author == author);
}
public List<Book> GetBooksByAuthorB(string author)
{
return GetAllBooks().Where(a => a.Author == author);
}
PS:上面的代碼沒有經過測試,我只寫它作爲我試圖告訴的一個例子。
'GetBooksByAuthorB'將從數據庫加載每一本書,然後將其過濾到內存中。這是一個糟糕的做法。 – Rob