How can I manipulate expressions to help automate the creation of SQL statements like Linq to SQL?
So: using EntityFramework I can make queries such as:
var livros = contexto.Livros .Where(livro => livro.SaldoEstoque > 0) .OrderBy(livro => livro.Preco); livros.ToList(); // nesse momento a query é executada
How can I use this type of feature to automate my queries?
Example:
Let's say I have the following class:
public abstract GenericDAL<TModel> where T : class
{
private SqlConnection _connection = null;
public string TableName { get; set; }
private string query;
public GenericDAL()
{
_connection = new SqlConnection(Config.ConnectionString);
TableName = "Nome da Tabela";
}
public GenericDAL<TModel> Query()
{
query = "";
query = "select * from " + TableName;
return this;
}
public GenericDAL<TModel> OrderBy(Expression<Func<TModel, object>> byProp)
{
// como adicionar a expressão à query?
return this;
}
public List<TModel> ToList()
{
// executa a query e cria a lista
}
}
And then, you can do this:
var dao = new GenericDAL<Livro>();
dao.Query().OrderBy(livro => livro.Preco).ToList();