c# – EntityFramework中实体实例的性能影响
发布时间:2020-12-15 21:15:19 所属栏目:百科 来源:网络整理
导读:对于具有实体框架的提供者模式,我应该使用什么行为? public class TestProvider : IDisposable{ public Entities entities = new Entities(); public IEnumerableTag GetAll() { return entities.Tag.ToList(); } public ... #region IDisposable Members p
对于具有实体框架的提供者模式,我应该使用什么行为?
public class TestProvider : IDisposable { public Entities entities = new Entities(); public IEnumerable<Tag> GetAll() { return entities.Tag.ToList(); } public ... #region IDisposable Members public void Dispose() { entities.Dispose(); } #endregion } 或者可以使用: public class TestProvider { public IEnumerable<Tag> GetAll() { using (var entities = new Entities()) { return entities.Tag.ToList(); } } public ... } 它是否意味着性能?有什么优点和缺点? 解决方法
这取决于TestProvider应存在多长时间以及您希望对检索到的实体执行哪些操作.通常,ObjectContext实例应尽可能在最短的时间内使用,但它也应该代表单个工作单元.不应共享ObjectContext实例.我回答了相关的问题
here.
这意味着您的方法在某些情况下都是正确的.如果您希望检索实体,修改它们并使用相同的提供程序实例保存它们,则第一种方法是可行的.如果你只是想要检索实体,你不想立即修改它们并且你不想选择其他任何东西,那么第二种方法是可以的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |