Я использую библиотеку Dynamic Linq здесь:Динамический запрос LINQ не работает
http://speakingin.net/2008/01/08/dynamic-linqparte-1-usando-la-libreria-de-linq-dynamic/
http://msdn.microsoft.com/en-us/vstudio//bb894665.aspx
У меня есть следующий код в моем DAL:
public IQueryable<RequestBase> GetRequestByCustomQuery(string strql)
{
return _context.RequestBases.Where(strql);
}
И я на моей странице:
protected void BtnOpenReport_Click(object sender, EventArgs e)
{
var list = RequestBaseBL.GetRequestByCustomQuery("RequestNumber = 12");
GrvResults.DataSource = list;
GrvResults.DataBind();
}
Я опускаю все остальные слои, но есть BL, затем Far Facade, а затем DL, но все, что они делают, это передать строку в последний слой DAL.
я получаю исключение
Operator '=' incompatible with operand types 'String' and 'Int32'
Объект, как это:
public class RequestBase
{
public int RequestBaseId { get; set; }
public string CurrentStatus { get; set; }
public string RequestNumber { get; set; }
public DateTime RequestDate { get; set; }
public bool IsOnHold { get; set; }
public virtual Dealer Dealer { get; set; }
public virtual Requester Requester { get; set; }
public virtual Vehicle Vehicle { get; set; }
public virtual ICollection<Attachment> Attachments { get; set; }
public virtual ICollection<WorkflowHistory> WorkflowHistories { get; set; }
отлично, спасибо! –