2012-05-01 51 views
0

在业务逻辑层中,我确实有一个包含8个步骤的过程。并且在DAL中我使用了EntiyFrameWork Code的第一种方法。我创建了一个Container的对象,它在每个我必须做DBoperaions的方法中使用(使用(var context = new MyContainer))继承DBContext。对于性能部分,我看到我创建它的对象需要时间。我可以在Bll中(在进程开始时)创建该容器的对象,并将其作为参数传递给所有方法,并在完成所有8个步骤后在流程结束时处理该对象。任何帮助将被高度讽刺。EntityFramework中的DbContext对象

+0

我该怎么做?其实我是新的stackoverflow。 – ethicallogics

+0

传递语境听起来像是一个可行的解决方案。 –

回答

2

是的,你应该每个工作单元创建一个ObjectContext

您可以将OC传递给步骤,也可以只传递所需的部分。例如,如果你只需要查询MyEntities.Foos一些步骤,你可以这样做:

public class Step4 
{ 
    public Step4(IQueryable<Foo> foos) 
    { 
     // ... 

...然后执行:

var step4Result = new Step4(context.Foos).Execute(); 

这将是更容易不是将整个来龙去脉进行测试。

相关问题