diff --git a/CommonAssemblyInfo.cs b/CommonAssemblyInfo.cs index 2b952fe6..66ee58a7 100644 --- a/CommonAssemblyInfo.cs +++ b/CommonAssemblyInfo.cs @@ -19,6 +19,6 @@ // COM, set the ComVisible attribute to true on that type. [assembly: ComVisible(false)] -[assembly: AssemblyVersion("0.11.1.1")] -[assembly: AssemblyFileVersion("0.11.1.1")] +[assembly: AssemblyVersion("0.11.2.1")] +[assembly: AssemblyFileVersion("0.11.2.1")] diff --git a/Simple.Data.Ado/Simple.Data.Ado.nuspec b/Simple.Data.Ado/Simple.Data.Ado.nuspec index fc046f62..163e3a3c 100644 --- a/Simple.Data.Ado/Simple.Data.Ado.nuspec +++ b/Simple.Data.Ado/Simple.Data.Ado.nuspec @@ -2,7 +2,7 @@ Simple.Data.Ado - 0.11.1.1 + 0.11.2.1 Mark Rendle Mark Rendle ADO Adapter for the Simple.Data data access library. @@ -12,7 +12,7 @@ sqlserver database data ado .net40 en-us - + diff --git a/Simple.Data.InMemoryTest/InMemoryTests.cs b/Simple.Data.InMemoryTest/InMemoryTests.cs index 6e0a647c..e7e57f7d 100644 --- a/Simple.Data.InMemoryTest/InMemoryTests.cs +++ b/Simple.Data.InMemoryTest/InMemoryTests.cs @@ -11,15 +11,15 @@ public class InMemoryTests [Test] public void InsertAndGetShouldWork() { -var adapter = new InMemoryAdapter(); -adapter.SetKeyColumn("Test", "Id"); -Database.UseMockAdapter(adapter); -var db = Database.Open(); -db.Test.Insert(Id: 1, Name: "Alice"); -var record = db.Test.Get(1); -Assert.IsNotNull(record); -Assert.AreEqual(1, record.Id); -Assert.AreEqual("Alice", record.Name); + var adapter = new InMemoryAdapter(); + adapter.SetKeyColumn("Test", "Id"); + Database.UseMockAdapter(adapter); + var db = Database.Open(); + db.Test.Insert(Id: 1, Name: "Alice"); + var record = db.Test.Get(1); + Assert.IsNotNull(record); + Assert.AreEqual(1, record.Id); + Assert.AreEqual("Alice", record.Name); } [Test] @@ -156,6 +156,21 @@ public void TestUpdateBy() Assert.AreEqual("Allyce", record.Name); } + [Test] + public void TestUpdate() + { + var adapter = new InMemoryAdapter(); + adapter.SetKeyColumn("Test", "Id"); + Database.UseMockAdapter(adapter); + var db = Database.Open(); + var alice = db.Test.Insert(Id: 1, Name: "Alice"); + var allyce = new {Id = 1, Name = "Allyce"}; + int updated = db.Test.Update(allyce); + Assert.AreEqual(1, updated); + var record = db.Test.FindById(1); + Assert.AreEqual("Allyce", record.Name); + } + [Test] public void TestDeleteBy() { diff --git a/Simple.Data.Mocking/Simple.Data.Mocking.nuspec b/Simple.Data.Mocking/Simple.Data.Mocking.nuspec index 40faf7c9..a9d1f085 100644 --- a/Simple.Data.Mocking/Simple.Data.Mocking.nuspec +++ b/Simple.Data.Mocking/Simple.Data.Mocking.nuspec @@ -2,7 +2,7 @@ Simple.Data.Mocking - 0.11.1.1 + 0.11.2.1 Mark Rendle Mark Rendle XML-based Mocking adapter for the Simple.Data data access library. @@ -12,7 +12,7 @@ database data .net40 en-us - + diff --git a/Simple.Data.SqlCe40/Simple.Data.SqlCe40.nuspec b/Simple.Data.SqlCe40/Simple.Data.SqlCe40.nuspec index cab41036..0157fa36 100644 --- a/Simple.Data.SqlCe40/Simple.Data.SqlCe40.nuspec +++ b/Simple.Data.SqlCe40/Simple.Data.SqlCe40.nuspec @@ -2,7 +2,7 @@ Simple.Data.SqlCompact40 - 0.11.1.1 + 0.11.2.1 Mark Rendle Mark Rendle SQL Server Compact 4.0 ADO provider for the Simple.Data data access library. @@ -12,7 +12,7 @@ sqlserver compact sqlce database data ado .net40 en-us - + diff --git a/Simple.Data.SqlServer/Simple.Data.SqlServer.nuspec b/Simple.Data.SqlServer/Simple.Data.SqlServer.nuspec index 360ee783..6bda5212 100644 --- a/Simple.Data.SqlServer/Simple.Data.SqlServer.nuspec +++ b/Simple.Data.SqlServer/Simple.Data.SqlServer.nuspec @@ -2,7 +2,7 @@ Simple.Data.SqlServer - 0.11.1.1 + 0.11.2.1 Mark Rendle Mark Rendle SQL Server ADO provider for the Simple.Data data access library. @@ -12,7 +12,7 @@ sqlserver database data ado .net40 en-us - + diff --git a/Simple.Data/InMemoryAdapter.cs b/Simple.Data/InMemoryAdapter.cs index de70821f..38f61182 100644 --- a/Simple.Data/InMemoryAdapter.cs +++ b/Simple.Data/InMemoryAdapter.cs @@ -149,18 +149,18 @@ private static void UpdateRecord(IDictionary data, IDictionary data) { if (!_keyColumns.ContainsKey(tableName)) throw new InvalidOperationException("No key column(s) specified."); - IDictionary row = null; + IDictionary row; if (_keyColumns[tableName].Length == 1) { row = GetTable(tableName).Single( - d => d[_keyColumns[tableName][0]] == data[_keyColumns[tableName][0]]); + d => Equals(d[_keyColumns[tableName][0]], data[_keyColumns[tableName][0]])); } else { IEnumerable> rows = GetTable(tableName); row = _keyColumns[tableName] - .Aggregate(rows, (current, keyColumn) => current.Where(d => d[keyColumn] == data[keyColumn])) + .Aggregate(rows, (current, keyColumn) => current.Where(d => Equals(d[keyColumn], data[keyColumn]))) .Single(); } UpdateRecord(data, row); diff --git a/Simple.Data/Simple.Data.nuspec b/Simple.Data/Simple.Data.nuspec index 242b0566..1741f339 100644 --- a/Simple.Data/Simple.Data.nuspec +++ b/Simple.Data/Simple.Data.nuspec @@ -2,7 +2,7 @@ Simple.Data.Core - 0.11.1.1 + 0.11.2.1 Mark Rendle Mark Rendle http://www.opensource.org/licenses/mit-license.php diff --git a/Simple.Data/SimpleQuery.cs b/Simple.Data/SimpleQuery.cs index e5b6d1c8..726f59e1 100644 --- a/Simple.Data/SimpleQuery.cs +++ b/Simple.Data/SimpleQuery.cs @@ -565,7 +565,7 @@ public T SingleOrDefault(Func predicate) public int Count() { - return Select(new CountSpecialReference()).ToScalar(); + return (int)Select(new CountSpecialReference()).ToScalar(); } ///