C# 在IQueryable上执行文本SQL查询

C# 在IQueryable上执行文本SQL查询,c#,sql,linq,ienumerable,iqueryable,C#,Sql,Linq,Ienumerable,Iqueryable,我正在尝试使用SQL查询将IQueryable转换为IEnumerable。我不确定这是否可能 var id = "123"; string queryString = "SELECT * FROM c WHERE c.ID = " + id; var dataSource = new List<Book> { new Book{ ID = "123", Title = "HarryPotter"}}.A

我正在尝试使用SQL查询将
IQueryable
转换为
IEnumerable
。我不确定这是否可能

        var id = "123";
        string queryString = "SELECT * FROM c WHERE c.ID = " + id;
        var dataSource = new List<Book> {
                new Book{ ID = "123", Title = "HarryPotter"}}.AsQueryable();

        var expected = dataSource.ConvertToIEnumerable(queryString); //IEnumerable type 
var id=“123”;
string queryString=“SELECT*FROM c,其中c.ID=“+ID;
var dataSource=新列表{
新书{ID=“123”,Title=“HarryPotter”}.AsQueryable();
var expected=dataSource.ConvertToEnumerable(查询字符串)//IEnumerable类型

dataSource
变量的类型为
IQueryable
。有没有办法传递
queryString
变量,以便转换
预期的
变量的类型为
IEnumerable

您试图做的是使用。我不相信在.NET框架中有内置的方式

您可以使用为集合提供类似SQL或lambda语法的

var id = "123";

var dataSource = new List<Book>
{
    new Book{ ID = "123", Title = "HarryPotter"}
};

var find = dataSource.Where(i => i.ID == id);
var id=“123”;
var dataSource=新列表
{
新书{ID=“123”,Title=“HarryPotter”}
};
var find=dataSource.Where(i=>i.ID==ID);

.aseneumerable()
@john但是如何用
aseneumerable()
传递
queryString
?我不太清楚你在做什么。什么是
converttoEnumerable()
?它如何理解字符串并应用它?@john这是伪代码。忽略这个方法。。。我正在寻找一个真正的方法来转换,所以更准确地说,您的问题是“我如何在IQueryable上执行文本SQL查询?”-正确吗?