Closed. This question is opinion-based。它当前不接受答案。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
2年前关闭。
在我的应用程序中,我有一个基本架构,如下所示:
我喜欢将所有的Entity Framework / DbContext访问代码保存在一个地方。我的存储库方法都注入了DbContext,并且都是API样式的,与通用存储库相反:
因此,当将实体(域对象)转换为数据传输对象然后转换为视图模型时,实体框架是否仍可以跟踪它们?还是我应该在每个存储库方法中始终使用
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
2年前关闭。
在我的应用程序中,我有一个基本架构,如下所示:
RepositoryMethods (DO) --> BusinessEngines (DTO) --> Controller (ViewModel)
我喜欢将所有的Entity Framework / DbContext访问代码保存在一个地方。我的存储库方法都注入了DbContext,并且都是API样式的,与通用存储库相反:
Task<Post> GetAllPostsInCategory(int categoryId);
因此,当将实体(域对象)转换为数据传输对象然后转换为视图模型时,实体框架是否仍可以跟踪它们?还是我应该在每个存储库方法中始终使用
.AsNoTracking()
?在点网核心中,我认为可以全局设置,对吗? 最佳答案
简单地说,如果您要从API返回实体,您的上下文将永远没有机会跟踪任何内容。
但是,如果要更新或删除任何数据,最好将其保持打开状态