什么是Linqpad中的UserQuery?

时间:2012-12-06 11:50:40

标签: linq c#-4.0 dbcontext linqpad

  

可能重复:
  LINQPad error: ‘UserQuery’: cannot derive from sealed type ‘My.Entity.Framework.CustomDataContext’

我在LINQPad 4中使用C#Expression作为语言

运行此查询
from t in typeof(UserQuery).GetProperties()
where t.Name == "tablename"
from c in t.GetValue(this,null).GetType().GetGenericArguments()[0].GetFields()
select c.Name

但是当我在C#Web应用程序中使用此查询时,它会给出错误,而不会引用UserQuery

var result = from t in typeof(UserQuery).GetProperties()
             where t.Name == "tablename"
             from c in t.GetValue(this,null).GetType().GetGenericArguments()[0].GetFields()
             select c.Name

和vs 2012 intellisense没有选择它的任何参考。请告诉我为执行上述查询需要添加哪个库引用,或者需要为引用创建哪个类对象?

目前我正在使用EF 5.0和DbContext对象,这是在通过Database First Approach创建EF数据模型时生成的

我更喜欢与DbContext相关的答案

2 个答案:

答案 0 :(得分:3)

UserQuery是LINQPad用作输入其文本字段的代码的容器的类。因此,它仅适用于在LINQPad中运行的代码。

答案 1 :(得分:1)

听起来您正在尝试查询类型化数据上下文的属性。

要在Visual Studio中使用它,请将UserQuery替换为您键入的DataContext的名称。