Skip to content

Commit d307de0

Browse files
committed
Fixes for EF
1 parent a570307 commit d307de0

File tree

3 files changed

+14
-5
lines changed

3 files changed

+14
-5
lines changed

Mvc.JQuery.Datatables.sln.DotSettings.user

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
<s:Boolean x:Key="/Default/Housekeeping/SolutionSettingsUpgraded/IsUpgraded/@EntryValue">True</s:Boolean>
66
<s:Boolean x:Key="/Default/Housekeeping/UnitTestingMru/UnitTestSessionPersistentData/=98F4BC003F814C2BA87B6120AD0009E9/@KeyIndexDefined">True</s:Boolean>
77
<s:String x:Key="/Default/Housekeeping/UnitTestingMru/UnitTestSessionPersistentData/=98F4BC003F814C2BA87B6120AD0009E9/Name/@EntryValue">ThingsAreCalledCorrectly</s:String>
8-
<s:String x:Key="/Default/Housekeeping/UnitTestingMru/UnitTestSessionPersistentData/=98F4BC003F814C2BA87B6120AD0009E9/XmlSerializedElements/@EntryValue">&lt;Session&gt;&lt;Elements&gt;&lt;UnitTestElement Provider="nUnit" Id="Mvc.JQuery.DataTables.Tests.EF.EntityFramework" type="NUnitTestFixtureElement" Project="53671C41-666D-4269-A12A-BA6C2F209E7A" /&gt;&lt;UnitTestElement Provider="nUnit" Id="Mvc.JQuery.DataTables.Tests.EF.EntityFramework.I" ParentId="Mvc.JQuery.DataTables.Tests.EF.EntityFramework" type="NUnitTestElement" TypeName="Mvc.JQuery.DataTables.Tests.EF.EntityFramework" MethodName="I" Project="53671C41-666D-4269-A12A-BA6C2F209E7A" /&gt;&lt;/Elements&gt;&lt;/Session&gt;</s:String></wpf:ResourceDictionary>
8+
<s:String x:Key="/Default/Housekeeping/UnitTestingMru/UnitTestSessionPersistentData/=98F4BC003F814C2BA87B6120AD0009E9/XmlSerializedElements/@EntryValue">&lt;Session&gt;&lt;Elements&gt;&lt;UnitTestElement Provider="nUnit" Id="Mvc.JQuery.DataTables.Tests.EntityFrameworkCe" type="NUnitTestFixtureElement" Project="53671C41-666D-4269-A12A-BA6C2F209E7A" /&gt;&lt;UnitTestElement Provider="nUnit" Id="Mvc.JQuery.DataTables.Tests.Linq" type="NUnitTestFixtureElement" Project="53671C41-666D-4269-A12A-BA6C2F209E7A" /&gt;&lt;UnitTestElement Provider="nUnit" Id="Mvc.JQuery.DataTables.Tests.EntityFrameworkCe.Linq.SimpleOrder" ParentId="Mvc.JQuery.DataTables.Tests.EntityFrameworkCe" type="NUnitTestElement" TypeName="Mvc.JQuery.DataTables.Tests.Linq" MethodName="SimpleOrder" Project="53671C41-666D-4269-A12A-BA6C2F209E7A" /&gt;&lt;UnitTestElement Provider="nUnit" Id="Mvc.JQuery.DataTables.Tests.EntityFrameworkCe.Linq.SimpleOrderAndTransform" ParentId="Mvc.JQuery.DataTables.Tests.EntityFrameworkCe" type="NUnitTestElement" TypeName="Mvc.JQuery.DataTables.Tests.Linq" MethodName="SimpleOrderAndTransform" Project="53671C41-666D-4269-A12A-BA6C2F209E7A" /&gt;&lt;UnitTestElement Provider="nUnit" Id="Mvc.JQuery.DataTables.Tests.EntityFrameworkCe.Linq.SingleRecordSearch" ParentId="Mvc.JQuery.DataTables.Tests.EntityFrameworkCe" type="NUnitTestElement" TypeName="Mvc.JQuery.DataTables.Tests.Linq" MethodName="SingleRecordSearch" Project="53671C41-666D-4269-A12A-BA6C2F209E7A" /&gt;&lt;UnitTestElement Provider="nUnit" Id="Mvc.JQuery.DataTables.Tests.EntityFrameworkCe.Linq.SortFilterPage" ParentId="Mvc.JQuery.DataTables.Tests.EntityFrameworkCe" type="NUnitTestElement" TypeName="Mvc.JQuery.DataTables.Tests.Linq" MethodName="SortFilterPage" Project="53671C41-666D-4269-A12A-BA6C2F209E7A" /&gt;&lt;UnitTestElement Provider="nUnit" Id="Mvc.JQuery.DataTables.Tests.Linq.SimpleOrder" ParentId="Mvc.JQuery.DataTables.Tests.Linq" type="NUnitTestElement" TypeName="Mvc.JQuery.DataTables.Tests.Linq" MethodName="SimpleOrder" Project="53671C41-666D-4269-A12A-BA6C2F209E7A" /&gt;&lt;UnitTestElement Provider="nUnit" Id="Mvc.JQuery.DataTables.Tests.Linq.SimpleOrderAndTransform" ParentId="Mvc.JQuery.DataTables.Tests.Linq" type="NUnitTestElement" TypeName="Mvc.JQuery.DataTables.Tests.Linq" MethodName="SimpleOrderAndTransform" Project="53671C41-666D-4269-A12A-BA6C2F209E7A" /&gt;&lt;UnitTestElement Provider="nUnit" Id="Mvc.JQuery.DataTables.Tests.Linq.SingleRecordSearch" ParentId="Mvc.JQuery.DataTables.Tests.Linq" type="NUnitTestElement" TypeName="Mvc.JQuery.DataTables.Tests.Linq" MethodName="SingleRecordSearch" Project="53671C41-666D-4269-A12A-BA6C2F209E7A" /&gt;&lt;UnitTestElement Provider="nUnit" Id="Mvc.JQuery.DataTables.Tests.Linq.SortFilterPage" ParentId="Mvc.JQuery.DataTables.Tests.Linq" type="NUnitTestElement" TypeName="Mvc.JQuery.DataTables.Tests.Linq" MethodName="SortFilterPage" Project="53671C41-666D-4269-A12A-BA6C2F209E7A" /&gt;&lt;/Elements&gt;&lt;/Session&gt;</s:String></wpf:ResourceDictionary>

Mvc.JQuery.Datatables/DataTablesResult.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,11 +101,11 @@ DataTablesData GetResults(IQueryable<T> data, DataTablesParam param)
101101

102102
var filters = new DataTablesFilter();
103103

104-
var filteredData = data.Select(_transform).AsQueryable();
104+
var filteredData = (IQueryable) data.Select(_transform).AsQueryable();
105105

106106
var searchColumns = TypeExtensions.GetSortedProperties<TRes>().Select(p => new ColInfo(p.Name, p.PropertyType)).ToArray();
107107

108-
filteredData = filters.FilterPagingSortingSearch(param, filteredData, searchColumns).Cast<TRes>();
108+
filteredData = filters.FilterPagingSortingSearch(param, filteredData, searchColumns);
109109

110110
var page = filteredData.Skip(param.iDisplayStart);
111111
if (param.iDisplayLength > -1)
@@ -118,7 +118,7 @@ DataTablesData GetResults(IQueryable<T> data, DataTablesParam param)
118118

119119
var properties = TypeExtensions.GetSortedProperties<TRes>();
120120

121-
var transformedPage = from i in page.ToArray()
121+
var transformedPage = from i in ((IQueryable<object>)page).ToArray()
122122
let pairs = properties.Select(p => new { p.PropertyType, Value = (p.GetGetMethod().Invoke(i, null)) })
123123
let values = pairs.Select(p => GetTransformedValue(p.PropertyType, p.Value))
124124
select values;

Mvc.JQuery.Datatables/TypeFilters.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Collections.Generic;
3+
using System.ComponentModel;
34

45
namespace Mvc.JQuery.Datatables
56
{
@@ -45,7 +46,15 @@ public static string NumericFilter(string query, string columnname, Type columnT
4546
}
4647
else
4748
{
48-
return string.Format("({1} == null ? \"\" : {1}.ToString()).{0}", FilterMethod(query), columnname);
49+
try
50+
{
51+
parametersForLinqQuery.Add(Convert.ChangeType(query, columnType));
52+
return string.Format("{0} == @{1}", columnname, parametersForLinqQuery.Count - 1);
53+
}
54+
catch (FormatException)
55+
{
56+
}
57+
return "false";
4958
}
5059
}
5160

0 commit comments

Comments
 (0)