0

EfMyDataModel.edmxclass MyDataEntities我的数据库 MyData 生成。我创建了一个单例类SingletonMyDataContext

public sealed class SingletonMyDataContext
    {
        private static readonly MyDataEntities_instance = new MyDataEntities();
        private SingletonMyDataContext() { }
        static SingletonMyDataContext() { }

        public static MyDataEntitiesInstance { get; private set; }
    }

我想创建一个 Repository 类来处理 DB 中的数据,但我现在不知道如何在存储库上下文中使用(MyDataEntities _instance),因为在使用后需要调用dispose()。如何在存储库中使用单例中的 DataContext?

public class Repository
{
private DbContext _context = SingletonMyDataContext.Instance;

//logic for work with data
}
4

1 回答 1

1

如何在存储库中使用单例中的 DataContext

显然,您不应该将数据上下文设置为单例。此外,在大多数情况下,这是一种不好的做法。EF 数据上下文在首次创建上下文实例后缓存元数据本身。不要尝试做两次。

于 2013-10-01T12:36:24.233 回答