
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查询?什么将取代“新BookDTO()”?
谢谢
解决方法 你从我想到的部分答案开始:’BookDTO是一个数据传输对象’.因此,抽象它几乎没有价值,因为它属于应用程序的一个非常特定的层.BookDTO的作用是作为书籍的纯粹数据表示(以某种可能的可序列化形式).这将在应用程序堆栈中的低级别发生.任何需要使用此类数据的代码都应该创建一个可以在代码中使用的域对象“Book”.这将书籍数据(BookDTO)的持久性和检索与其域表示(Book)分离.
我不认为你的界面定义是为了这个目的,因此DI在这里没有用处.我认为DI在这里发挥作用的是书籍DTO的检索.加载书籍数据的类将注入此类服务并使用它来检索BookDTO实例.
总结以上是内存溢出为你收集整理的c# – 使用依赖注入在构造函数外部创建类的新实例全部内容,希望文章能够帮你解决c# – 使用依赖注入在构造函数外部创建类的新实例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)