像LinqPad一样直接引用ObjectContexts

本文关键字:引用 ObjectContexts 一样 LinqPad | 更新日期: 2023-09-27 18:12:11

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

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

为了更清楚,假设我有一个名为"Categories"的表。要获得计数,我可以在LinqPad中执行以下操作:

int i = Categories.Count();

但是在我自己的程序中,我必须这样做:

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

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

谢谢你的帮助!

像LinqPad一样直接引用ObjectContexts

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

如果你只是想在LINQPad vs vs中使用一致的方式编写查询,你可以轻松地在LINQPad中创建一个等效的变量,如下所示:

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