我正在将一些代码从 LinqPad 移动到常规 C# VS2010 环境。
我注意到,在 LinqPad 中,您可以直接使用 ObjectContext(即使用复数表名称),而在我的常规 (VS2010) C# 代码中,我需要首先实例化 ObjectContext。
更清楚地说,假设我有一个名为“类别”的表。要获得计数,我可以在 LinqPad 中执行以下操作:
int i = Categories.Count();
但是在我自己的程序中,我必须这样做:
MyEntities dc = new MyEntities();
int i = dc.Categories.Count();
如何在我自己的程序中实现这种额外的便利?我觉得我错过了一些基本的东西......
感谢您的帮助!
最佳答案
LINQPad 通过子类化类型化的 ObjectContext 来实现这一点。如果您愿意,您可以在 VS 中执行相同的操作,尽管它最终可能会使您的类变得困惑,并且可以说是糟糕的设计,因为您不需要访问对象上下文的任何 protected 成员。
如果您只是想在 LINQPad 与 VS 中以一致的方式编写查询,则可以轻松地在 LINQPad 中创建等效变量,如下所示:
var db = this;
int i = db.Categories.Count();
关于c# - 像 LinqPad 中一样直接引用 ObjectContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7864572/