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