【发布时间】:2024-01-08 21:45:01
【问题描述】:
我正在尝试一个示例应用程序来测试依赖注入。在使用 DI 之前,我的课堂上有以下方法:
public IQueryable<BookDTO> GetBooks()
{
var books = from b in db.Books
select new BookDTO()
{
Id = b.Id,
Title = b.Title,
AuthorName = b.Author.Name
};
return books;
}
BookDTO 是在另一个项目中定义的数据传输对象。现在我想将我的项目松散地耦合在一起。所以我创建了 IDTOBase 接口并让 BookDTO 实现了这个。我有一个统一容器,我已将 BookDTO 类的相关注册到 IDTOBase。
但是我将如何在我原来的方法中重写 LINQ 查询呢?什么会代替“new BookDTO()”?
谢谢
【问题讨论】:
-
DI的目的不是松散耦合数据,而是松散耦合逻辑层。
标签: c# linq dependency-injection unity-container data-transfer-objects