Closed. This question is opinion-based。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
                        
                        2年前关闭。
                                                                                            
                
        
在我的应用程序中,我有一个基本架构,如下所示:

RepositoryMethods (DO) --> BusinessEngines (DTO) --> Controller (ViewModel)

我喜欢将所有的Entity Framework / DbContext访问代码保存在一个地方。我的存储库方法都注入了DbContext,并且都是API样式的,与通用存储库相反:

Task<Post> GetAllPostsInCategory(int categoryId);


因此,当将实体(域对象)转换为数据传输对象然后转换为视图模型时,实体框架是否仍可以跟踪它们?还是我应该在每个存储库方法中始终使用.AsNoTracking()?在点网核心中,我认为可以全局设置,对吗?

最佳答案

简单地说,如果您要从API返回实体,您的上下文将永远没有机会跟踪任何内容。

但是,如果要更新或删除任何数据,最好将其保持打开状态

10-07 19:21
查看更多