c# - 如何从 IQueryable 变量中获取数据字段?

标签 c#

我有以下代码:-

public IQueryable GetPerson(int PersonID)
    {

        var Details = from pers in db.People
              where pers.ID == PersonID
                      select new
                          {
                              Name = item.NAME,
                              Email = item.EMAIL
                          };

        return Details
    }

我不想从上面的数据访问代码返回特定类型。

然后我想做这样的事情:

 IQueryable Person = dal.GetPerson(PersonID);
 PersonEmail = Person.EMAIL;  - but this obviously doesn't work ??

关于如何从 Person IQueryable 对象获取字段数据有什么想法吗?

最佳答案

实际上,您不能以任何有用的方式从方法返回匿名类型。您的方法将编译和工作,但您本质上有一个 IQueryable 对象集合,您无法访问其中包含的匿名类型的属性。除非你返回IQueryable<Person>您根本无法访问返回对象的属性,匿名类型仅在它们创建的范围内真正有用。可能有一些可怕的事情你可以通过反射来获取数据,但我不建议沿着这条路走下去。为什么不想返回IQueryable<Person>

关于c# - 如何从 IQueryable 变量中获取数据字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3468537/

相关文章:

c# - 寻求解释/信息 : Windows write I/O performance with "fsync" (FlushFileBuffers)

c# - 为什么需要使用 "this"(有些啧啧)

c# - 如何从 List<int[]> 中删除 int[]?

c# - 为什么使用伙伴类进行验证?

c# - 插入表时出错

c# - Asp.Net core实时数据库?

C#去掉字符串 "Color []"中的字符串部分 "Color [ColorName]"

c# - 我想添加一个 if 语句来检查学生 ID 是否有 PaymentID 目前是 mvc 中的新手

c# - 在 OverFlow 的情况下向下滚动 ContextMenu

c# - 将异步 HttpWebResponse 与 C# 中的 HttpWebRequest 匹配