无法弄清楚C#中的IQueryable

时间:2014-11-07 21:58:33

标签: asp.net .net list visual-studio-2012 iqueryable

这是我的班级:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
{
    public class Attendee
    {
        public int AttendeeId { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
    }
}

稍后在代码中我尝试使用该类,但它被声明为IEnumerable

IQueryable<Attendee> myList;

我需要能够手动填充它。像这样:

IQueryable<Attendee> districtList = new IQueryable<Attendee>() { AtendeeId = 1, FirstName = "First Name", LastName = "Last Name" }; <- This does not work. I need example of how to add one item or more then one item.

我真的很感激如何手动填充一些假数据的例子,例如&#34;测试字符串&#34;,&#34;测试ID&#34;等myList只是一个变量。

为了解决这个问题,我做了以下几点:

var attendees = new List<Attendee>();
// Manually Populate Attendees list

myList = attendees.AsQueriable();

1 个答案:

答案 0 :(得分:3)

IQueryable<T>是一个接口,因此您无法直接实例化它。相反,您需要创建实现该接口的类的实例。例如:

List<string> myList = new List<string>(){"foo", "bar"};
IQueryable<string> myQueryable = myList.AsQueryable();

注意:在此示例中,我使用LINQ AsQueryable()方法将IEnumerable<T>(即List<T>)转换为IQueryable<T>