我应该在哪里连接上下文以获得更好的性能?

时间:2014-03-24 14:27:21

标签: c# performance entity-framework

我想使用EF并且知道两种方法来使用上下文来访问某些类的方法的数据:

1.为每个类的方法传递连接:

 public partial class MyEntity
 {
    public static int Add(MyEntityConnection context,MyEntity input)
    {
        context.MyEntity.AddObject(input);
        context.SaveChanges();
        return input.Id;
    }
 }

2.独立使用每种方法的上下文:

 public partial class MyEntity
 {
    public static int Add(MyEntity input)
    {
        using (var context = new MyEntityConnection())
        {
            context.MyEntity.AddObject(input);
            context.SaveChanges();
            return input.Id;
        }
    }
 }

上述哪种方式或其他方式更好?

1 个答案:

答案 0 :(得分:1)

我根据walther的评论推荐每个请求的上下文,但使用依赖注入和存储库模式来管理生命周期。

类似的东西:

How-to inject the Entity Framework DbContext into the ConfigurationBasedRepository of SharpRepository