Как конвертировать лямбда-выражение в Sql?

Я разрабатываю небольшую структуру для доступа к базе данных. Я хочу добавить функцию, которая делает запрос с использованием лямбда-выражения. Как мне это сделать?

public class TestModel
{
    public int Id {get;set;}
    public string Name {get;set;}
}

public class Repository<T>
{
    // do something.
}

Например:

var repo = new Repository<TestModel>();

var query = repo.AsQueryable().Where(x => x.Name == "test"); 
// This query must be like this:
// SELECT * FROM testmodel WHERE name = 'test'

var list = query.ToDataSet();
// When I call ToDataSet(), it will get the dataset after running the made query.

Ответы на вопрос(3)

Ваш ответ на вопрос