Can someone explain why FilterExpression is LINQ syntax for List but SQL syntax for others.
Here is what I have tested:
If I call .ToList() for the finalData filterExpressions syntax is
(iif(Subject == null, "", Subject).Contains("sometext"))
but if I do not call .ToList() filterExpression syntax is
([Subject] LIKE '%sometext%')
PS: EnableLinqExpressions="true" doesnt reflect any changes.
TIA.
Here is what I have tested:
public
class
TheData
{
public
string
Subject {
get
;
set
; }
}
protected
void
RadGrid1_NeedDataSource(
object
sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
MyEntity ent =
new
MyEntity();
IQueryable<TheData> gridData = from t1
in
ent.Documents
join t2
in
ent.Approve on t1.Id equals t2.DocumentId
where (t1.InsertById == 1 || t1.ApprovedById == 1)
select
new
TheData
{
Subject = t1.Subject
};
string
filterExpression = RadGrid1.MasterTableView.FilterExpression.Replace(
".ToString()"
, String.Empty);
RadGrid1.VirtualItemCount = filterExpression !=
string
.Empty
? gridData.Where(filterExpression).Count()
: gridData.Count();
var testData = (filterExpression !=
string
.Empty
? gridData.Where(filterExpression)
: gridData).ToList();
var finalData = (from f
in
testData
select
new
{
Subject = f.Subject.Replace(
"someval"
,
"tosomeval"
),
}).ToList();
RadGrid1.DataSource = finalData;
}
If I call .ToList() for the finalData filterExpressions syntax is
(iif(Subject == null, "", Subject).Contains("sometext"))
but if I do not call .ToList() filterExpression syntax is
([Subject] LIKE '%sometext%')
PS: EnableLinqExpressions="true" doesnt reflect any changes.
TIA.