Skip to content

Commit d10941b

Browse files
committed
Fixes issue ThatRendle#200
1 parent 1eaa1b9 commit d10941b

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

Simple.Data.BehaviourTest/UpdateTest.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,16 @@ public void TestUpdateWithNamedArguments()
6262
Parameter(2).Is(1);
6363
}
6464

65+
[Test]
66+
public void TestUpdateWithNamedArgumentsUsingDifferentCase()
67+
{
68+
_db.Users.UpdateById(id: 1, Name: "Steve", Age: 50);
69+
GeneratedSqlIs("update [dbo].[Users] set [Name] = @p1, [Age] = @p2 where [dbo].[Users].[Id] = @p3");
70+
Parameter(0).Is("Steve");
71+
Parameter(1).Is(50);
72+
Parameter(2).Is(1);
73+
}
74+
6575
[Test]
6676
public void TestUpdateWithNamedArgumentsUsingExpression()
6777
{

Simple.Data/BinderHelper.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ private static IDictionary<string, object> NamedArgumentsToDictionary(IEnumerabl
1616
.Reverse()
1717
.Zip(args.Reverse(), (k, v) => new KeyValuePair<string, object>(k, v))
1818
.Reverse()
19-
.ToDictionary();
19+
.ToDictionary(StringComparer.InvariantCultureIgnoreCase);
2020
}
2121

2222
private static IDictionary<string, object> ArgumentsToDictionary(IEnumerable<String> argumentNames, IEnumerable<object> args)
@@ -29,7 +29,7 @@ private static IDictionary<string, object> ArgumentsToDictionary(IEnumerable<Str
2929
.Zip(argumentNames.Reverse().ExtendInfinite(), (v, k) => new KeyValuePair<string, object>(k, v))
3030
.Reverse()
3131
.Select((kvp, i) => kvp.Key == null ? new KeyValuePair<string, object>("_" + i.ToString(), kvp.Value) : kvp)
32-
.ToDictionary();
32+
.ToDictionary(StringComparer.InvariantCultureIgnoreCase);
3333
}
3434

3535
internal static IDictionary<string, object> NamedArgumentsToDictionary(this InvokeMemberBinder binder, IEnumerable<object> args)

0 commit comments

Comments
 (0)