我正在将一些代码从LinqPad移到常规的C#VS2010环境中。
我注意到在LinqPad中,你可以直接使用ObjectContext(即使用复数表名),而在我的常规(VS2010)C#代码中,我需要首先实例化ObjectContext。
更清楚的是,如果我有一个名为“类别”的表格。为了计算,我可以在LinqPad中执行以下操作:
int i = Categories.Count();
但在我自己的计划中,我必须这样做:
MyEntities dc = new MyEntities();
int i = dc.Categories.Count();
如何在自己的程序中实现额外的便利?我觉得我错过了一些基本的东西......
感谢您的帮助!
答案 0 :(得分:4)
LINQPad通过子类化您键入的ObjectContext来实现这一点。如果你愿意的话,你可以在VS中做同样的事情,虽然它最终会使你的类变得混乱,并且可能是糟糕的设计,因为你不需要访问对象上下文的任何受保护成员。
如果您只想在LINQPad vs VS中编写查询的一致方法,可以在LINQPad中轻松创建等效变量,如下所示:
var db = this;
int i = db.Categories.Count();