c# - 像 LinqPad 中一样直接引用 ObjectContext

标签 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();

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

感谢您的帮助!

最佳答案

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/

相关文章:

c# selenium 使用 xpath 查找元素

c# - Mapster - 将不可为空类型映射到可为空类型

c# - 提高性能但需要维护的计算字段 (EF)

c# - 如何将 Entity Framework 6 绑定(bind)到 KendoUI Grid

c# - 如何从 asp :Repeater? 循环遍历项目模板中的项目

c# - Windows ocr 可以识别自定义符号/字体吗?

c# - 尝试模拟 Entity Framework 上下文时抛出 TargetInitationException

c# - 在构造函数中设置 DataContext=this 和在 WPF 中绑定(bind)到 {RelativeSource Self} 之间的区别?

linq - 用 LINQ-to-SQL 模仿 SQL 插入触发器

wpf - 使用 MVVM 的 WPF 中 ItemSource 的绑定(bind)/DataContext 问题