这是我的控制器和服务层代码
public class BooksController : Controller
{
private IBookService _bookService;
public BooksController(IBookService bookService)
{
_bookService = bookService;
}
public BooksController()
{
}
// GET: Books
public ActionResult Index()
{
IEnumerable<Book> Books = _bookService.GetBooks().ToList();
return View(Books);
}
}
这是我相应的服务层代码的代码。
class BookService:ServiceBase<Book>,IBookService
{
public BookService(IRepository<Book> repository, IUnitOfWork unitOfWork) : base(repository, unitOfWork)
{
}
public IEnumerable<Book> GetBooksByName(string name)
{
return string.IsNullOrEmpty(name) ? UnitOfWork.BookRepository.GetAll() : UnitOfWork.BookRepository.GetAll().Where(c => c.Name == name);
}
public IEnumerable<Book> GetBooks()
{
return UnitOfWork.BookRepository.GetAll();
}
}
我没有在视图中获取任何数据,而是说一个空引用异常。我想知道代码是如何工作的,因为我是存储库模式的新手,也不知道问题出在哪里。请在这方面帮助我。
我正在使用带有存储库模式的工作单元。
答案 0 :(得分:0)
在IBookService
中有两个构造函数:一个带有Index()
参数,另一个没有。
您希望如果有人使用第二个构造函数,您的_bookService
应该可以工作吗?您将收到NullReferenceException,因为没有人初始化git config —global alias.a version
。好吧,你收下它。