直接引用像LinqPad中的ObjectContexts

时间:2011-10-23 05:42:32

标签: c# entity-framework datacontext linqpad

我正在将一些代码从LinqPad移到常规的C#VS2010环境中。

我注意到在LinqPad中,你可以直接使用ObjectContext(即使用复数表名),而在我的常规(VS2010)C#代码中,我需要首先实例化ObjectContext。

更清楚的是,如果我有一个名为“类别”的表格。为了计算,我可以在LinqPad中执行以下操作:

int i = Categories.Count();

但在我自己的计划中,我必须这样做:

MyEntities dc = new MyEntities();
int i = dc.Categories.Count();

如何在自己的程序中实现额外的便利?我觉得我错过了一些基本的东西......

感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

LINQPad通过子类化您键入的ObjectContext来实现这一点。如果你愿意的话,你可以在VS中做同样的事情,虽然它最终会使你的类变得混乱,并且可能是糟糕的设计,因为你不需要访问对象上下文的任何受保护成员。

如果您只想在LINQPad vs VS中编写查询的一致方法,可以在LINQPad中轻松创建等效变量,如下所示:

var db = this;
int i = db.Categories.Count();