Skip to content

Commit 7063662

Browse files
committed
rc2 update
1 parent 57e7b30 commit 7063662

114 files changed

Lines changed: 3677 additions & 7330 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Dependencies.targets

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<Project>
22
<PropertyGroup>
3-
<DotNetVersion>[10.0.0-rc.1.25451.107,10.0.999]</DotNetVersion>
4-
<EFCoreVersion>[10.0.0-rc.1.25451.107,10.0.999]</EFCoreVersion>
5-
<MSLibVersion>[10.0.0-rc.1.25451.107,10.0.999]</MSLibVersion>
3+
<DotNetVersion>[10.0.0-rc.2.25502.107,10.0.999]</DotNetVersion>
4+
<EFCoreVersion>[10.0.0-rc.2.25502.107,10.0.999]</EFCoreVersion>
5+
<MSLibVersion>[10.0.0-rc.2.25502.107,10.0.999]</MSLibVersion>
66
</PropertyGroup>
77

88
<ItemGroup>
@@ -28,16 +28,16 @@
2828
<PackageReference Update="Microsoft.EntityFrameworkCore.Design" Version="$(EFCoreVersion)" />
2929
<PackageReference Update="Microsoft.EntityFrameworkCore.Relational.Specification.Tests" Version="$(EFCoreVersion)" />
3030
<PackageReference Update="Microsoft.Extensions.Logging.Console" Version="$(MSLibVersion)" />
31-
<PackageReference Update="Microsoft.NET.Test.Sdk" Version="17.14.1" />
32-
<PackageReference Update="MSTest.TestAdapter" Version="3.10.4" />
33-
<PackageReference Update="MSTest.TestFramework" Version="3.10.4" />
31+
<PackageReference Update="Microsoft.NET.Test.Sdk" Version="18.0.0" />
32+
<PackageReference Update="MSTest.TestAdapter" Version="4.0.1" />
33+
<PackageReference Update="MSTest.TestFramework" Version="4.0.1" />
3434
<PackageReference Update="coverlet.collector" Version="6.0.4" />
35-
<PackageReference Update="Newtonsoft.Json" Version="13.0.3" />
35+
<PackageReference Update="Newtonsoft.Json" Version="13.0.4" />
3636

3737
<!-- EFCore.Jet.FunctionalTests -->
3838
<PackageReference Update="xunit.core" Version="2.9.3"/>
3939
<PackageReference Update="xunit.assert" Version="2.9.3" />
40-
<PackageReference Update="xunit.runner.visualstudio" Version="3.1.4" />
40+
<PackageReference Update="xunit.runner.visualstudio" Version="3.1.5" />
4141
<PackageReference Update="xunit.runner.console" Version="2.9.3" />
4242
<PackageReference Update="Microsoft.Extensions.Configuration.FileExtensions" Version="$(MSLibVersion)" />
4343
<PackageReference Update="NetTopologySuite" Version="2.5.0" />

Version.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
correctly.
1717
-->
1818
<VersionPrefix>10.0.0</VersionPrefix>
19-
<PreReleaseVersionLabel>alpha</PreReleaseVersionLabel>
20-
<PreReleaseVersionIteration>1</PreReleaseVersionIteration>
19+
<PreReleaseVersionLabel>rc</PreReleaseVersionLabel>
20+
<PreReleaseVersionIteration>2</PreReleaseVersionIteration>
2121

2222
<!--
2323
The following properties will automatically be set by CI builds when appropriate:

src/EFCore.Jet.Odbc/EFCore.Jet.Odbc.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
</ItemGroup>
2020

2121
<ItemGroup>
22-
<PackageReference Include="System.Data.Odbc" />
22+
<PackageReference Include="System.Data.Odbc" Version="4.5.2" />
2323
</ItemGroup>
2424

2525
<ItemGroup Condition="'$(LocalEFCoreRepository)' != ''">

src/EFCore.Jet/EFCore.Jet.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
</ItemGroup>
1717

1818
<ItemGroup Condition="'$(LocalEFCoreRepository)' == ''">
19-
<PackageReference Include="Microsoft.EntityFrameworkCore" PrivateAssets="none" />
20-
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" PrivateAssets="none" />
19+
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.0-rc.2.*" PrivateAssets="none" />
20+
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="10.0.0-rc.2.*" PrivateAssets="none" />
2121
</ItemGroup>
2222

2323
<ItemGroup Condition="'$(LocalEFCoreRepository)' != ''">

src/EFCore.Jet/Migrations/JetMigrationsSqlGenerator.cs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@
55
using EntityFrameworkCore.Jet.Metadata.Internal;
66
using EntityFrameworkCore.Jet.Migrations.Operations;
77
using EntityFrameworkCore.Jet.Storage.Internal;
8+
using EntityFrameworkCore.Jet.Update.Internal;
89
using EntityFrameworkCore.Jet.Utilities;
10+
using Microsoft.EntityFrameworkCore.Metadata.Internal;
911
using System.Text;
10-
using EntityFrameworkCore.Jet.Update.Internal;
1112

1213
// ReSharper disable once CheckNamespace
1314
namespace Microsoft.EntityFrameworkCore.Migrations
@@ -840,7 +841,7 @@ protected override void ColumnDefinition(
840841
DefaultValue(operation.DefaultValue, operation.DefaultValueSql, columnType, builder);
841842
}
842843

843-
protected override string? GetColumnType(
844+
protected override string GetColumnType(
844845
string? schema,
845846
string table,
846847
string name,
@@ -878,7 +879,14 @@ operation[JetAnnotationNames.Identity] is string identity &&
878879
storeType = storeType.Replace("bigint", "decimal");
879880
}
880881

881-
return storeType;
882+
if (storeType != null)
883+
{
884+
return storeType;
885+
}
886+
887+
var fullTableName = schema != null ? $"{schema}.{table}" : table;
888+
throw new InvalidOperationException(
889+
RelationalStrings.UnsupportedTypeForColumn(fullTableName, name, operation.ClrType?.Name ?? "unknown"));
882890
}
883891

884892
/// <summary>

src/EFCore.Jet/Query/Internal/JetParameterBasedSqlProcessor.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ public override Expression Process(Expression queryExpression, ParametersCacheDe
3939
4040
*/
4141

42+
// Run the compatibility checks as late in the query pipeline (before the actual SQL translation happens) as reasonable.
43+
afterSearchConditionConversion = new JetCompatibilityExpressionVisitor().Visit(afterSearchConditionConversion);
44+
4245
return afterSearchConditionConversion;
4346
}
4447

test/EFCore.Jet.Data.Tests/ConnectionPoolingTest.cs

Lines changed: 28 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -29,79 +29,46 @@ public void TearDown()
2929
}
3030

3131
[TestMethod]
32-
[ExpectedException(typeof(InvalidOperationException))]
3332
public void Open_Connection_Without_Connection_String()
3433
{
3534
using var connection = new JetConnection();
36-
connection.Open();
35+
Assert.Throws<InvalidOperationException>(() => connection.Open());
3736
}
3837

3938
[TestMethod]
40-
[ExpectedException(typeof(InvalidOperationException))]
4139
public void ExecuteReader_From_Closed_Connection()
4240
{
4341
using var connection = new JetConnection(JetConnection.GetConnectionString(StoreName, Helpers.DataAccessProviderFactory), Helpers.DataAccessProviderFactory);
44-
try
45-
{
46-
using var command = connection.CreateCommand($"select * from `{JetConnection.DefaultDualTableName}`");
47-
command.ExecuteReader();
48-
}
49-
catch (Exception e)
50-
{
51-
Assert.AreEqual("\"ExecuteReader\" requires a connection in Open state. Current connection state is Closed", e.Message);
52-
throw;
53-
}
42+
using var command = connection.CreateCommand($"select * from `{JetConnection.DefaultDualTableName}`");
43+
var ex = Assert.Throws<InvalidOperationException>(() => command.ExecuteReader());
44+
Assert.AreEqual("\"ExecuteReader\" requires a connection in Open state. Current connection state is Closed", ex.Message);
5445
}
5546

5647
[TestMethod]
57-
[ExpectedException(typeof(InvalidOperationException))]
5848
public void ExecuteNonQuery_From_Closed_Connection()
5949
{
6050
using var connection = new JetConnection(JetConnection.GetConnectionString(StoreName, Helpers.DataAccessProviderFactory), Helpers.DataAccessProviderFactory);
61-
try
62-
{
63-
using var command = connection.CreateCommand($"select * from `{JetConnection.DefaultDualTableName}`");
64-
command.ExecuteNonQuery();
65-
}
66-
catch (Exception e)
67-
{
68-
Assert.AreEqual("\"ExecuteNonQuery\" requires a connection in Open state. Current connection state is Closed", e.Message);
69-
throw;
70-
}
51+
using var command = connection.CreateCommand($"select * from `{JetConnection.DefaultDualTableName}`");
52+
var ex = Assert.Throws<InvalidOperationException>(() => command.ExecuteNonQuery());
53+
Assert.AreEqual("\"ExecuteNonQuery\" requires a connection in Open state. Current connection state is Closed", ex.Message);
7154
}
7255

7356
[TestMethod]
74-
[ExpectedException(typeof(InvalidOperationException))]
7557
public void ExecuteScalar_From_Closed_Connection()
7658
{
7759
using var connection = new JetConnection(JetConnection.GetConnectionString(StoreName, Helpers.DataAccessProviderFactory), Helpers.DataAccessProviderFactory);
78-
try
79-
{
80-
using var command = connection.CreateCommand($"select * from `{JetConnection.DefaultDualTableName}`");
81-
command.ExecuteScalar();
82-
}
83-
catch (Exception e)
84-
{
85-
Assert.AreEqual("\"ExecuteScalar\" requires a connection in Open state. Current connection state is Closed", e.Message);
86-
throw;
87-
}
60+
using var command = connection.CreateCommand($"select * from `{JetConnection.DefaultDualTableName}`");
61+
var ex = Assert.Throws<InvalidOperationException>(() => command.ExecuteScalar());
62+
Assert.AreEqual("\"ExecuteScalar\" requires a connection in Open state. Current connection state is Closed", ex.Message);
8863
}
8964

9065
[TestMethod]
91-
[ExpectedException(typeof(InvalidOperationException))]
9266
public void Prepare_From_Closed_Connection()
9367
{
9468
using var connection = new JetConnection(JetConnection.GetConnectionString(StoreName, Helpers.DataAccessProviderFactory), Helpers.DataAccessProviderFactory);
95-
try
96-
{
97-
using var command = connection.CreateCommand($"select * from `{JetConnection.DefaultDualTableName}`");
98-
command.Prepare();
99-
}
100-
catch (Exception e)
101-
{
102-
Assert.AreEqual("\"Prepare\" requires a connection in Open state. Current connection state is Closed", e.Message);
103-
throw;
104-
}
69+
using var command = connection.CreateCommand($"select * from `{JetConnection.DefaultDualTableName}`");
70+
var ex = Assert.Throws<InvalidOperationException>(() => command.Prepare());
71+
Assert.AreEqual("\"Prepare\" requires a connection in Open state. Current connection state is Closed", ex.Message);
10572
}
10673

10774
[TestMethod]
@@ -118,28 +85,25 @@ public void GetDataReader_From_Open_Connection()
11885
}
11986

12087
[TestMethod]
121-
[ExpectedException(typeof(InvalidOperationException))]
12288
public void GetTransaction_From_Closed_Connection()
12389
{
12490
using var connection = new JetConnection(JetConnection.GetConnectionString(StoreName, Helpers.DataAccessProviderFactory));
125-
using var transaction = connection.BeginTransaction();
91+
Assert.Throws<InvalidOperationException>(() => connection.BeginTransaction());
12692
}
12793

12894
[TestMethod]
129-
[ExpectedException(typeof(InvalidOperationException))]
13095
public void Change_Database_From_Closed_Connection()
13196
{
13297
using var connection = new JetConnection(JetConnection.GetConnectionString(StoreName, Helpers.DataAccessProviderFactory));
133-
connection.ChangeDatabase("abcd");
98+
Assert.Throws<InvalidOperationException>(() => connection.ChangeDatabase("abcd"));
13499
}
135100

136101
[TestMethod]
137-
[ExpectedException(typeof(InvalidOperationException))]
138102
public void Change_Database_From_Open_Connection()
139103
{
140104
using var connection = new JetConnection(JetConnection.GetConnectionString(StoreName, Helpers.DataAccessProviderFactory));
141105
connection.Open();
142-
connection.ChangeDatabase("abcd");
106+
Assert.Throws<InvalidOperationException>(() => connection.ChangeDatabase("abcd"));
143107
}
144108

145109
[TestMethod]
@@ -150,12 +114,11 @@ public void Change_ConnectionString_From_Closed_Connection()
150114
}
151115

152116
[TestMethod]
153-
[ExpectedException(typeof(InvalidOperationException))]
154117
public void Change_ConnectionString_From_Open_Connection()
155118
{
156119
using var connection = new JetConnection(JetConnection.GetConnectionString(StoreName, Helpers.DataAccessProviderFactory));
157120
connection.Open();
158-
connection.ConnectionString = DummyStoreName;
121+
Assert.Throws<InvalidOperationException>(() => connection.ConnectionString = DummyStoreName);
159122
}
160123

161124
[TestMethod]
@@ -217,23 +180,22 @@ public void Read_ConnectionString_From_Open_Connection()
217180
public void Read_Database_From_Closed_Connection()
218181
{
219182
using var connection = new JetConnection(JetConnection.GetConnectionString(StoreName, Helpers.DataAccessProviderFactory));
220-
Assert.IsTrue(connection.Database == string.Empty);
183+
Assert.AreEqual(string.Empty, connection.Database);
221184
}
222185

223186
[TestMethod]
224187
public void Read_Database_From_Open_Connection()
225188
{
226189
using var connection = new JetConnection(JetConnection.GetConnectionString(StoreName, Helpers.DataAccessProviderFactory));
227190
connection.Open();
228-
Assert.IsTrue(connection.Database == string.Empty);
191+
Assert.AreEqual(string.Empty, connection.Database);
229192
}
230193

231194
[TestMethod]
232-
[ExpectedException(typeof(InvalidOperationException))]
233195
public void Read_ServerVersion_From_Closed_Connection()
234196
{
235197
using var connection = new JetConnection(JetConnection.GetConnectionString(StoreName, Helpers.DataAccessProviderFactory));
236-
Assert.IsTrue(connection.ServerVersion == string.Empty);
198+
Assert.Throws<InvalidOperationException>(() => _ = connection.ServerVersion);
237199
}
238200

239201
[TestMethod]
@@ -249,7 +211,7 @@ public void Read_Database_From_Disposed_Connection()
249211
{
250212
using var connection = new JetConnection(JetConnection.GetConnectionString(StoreName, Helpers.DataAccessProviderFactory));
251213
connection.Dispose();
252-
Assert.IsTrue(connection.Database == string.Empty);
214+
Assert.AreEqual(string.Empty, connection.Database);
253215
}
254216

255217
[TestMethod]
@@ -335,7 +297,7 @@ public void Read_Connection_String_After_Dispose()
335297
}
336298

337299
[TestMethod]
338-
[ExpectedException(typeof(InvalidOperationException))]
300+
//[ExpectedException(typeof(InvalidOperationException))]
339301
public void OpenSeveralTimes()
340302
{
341303
using var connection = new JetConnection(JetConnection.GetConnectionString(StoreName, Helpers.DataAccessProviderFactory));
@@ -410,11 +372,10 @@ public void GetSchema_From_Open_Connection()
410372
}
411373

412374
[TestMethod]
413-
[ExpectedException(typeof(InvalidOperationException))]
414375
public void GetSchema_From_Closed_Connection()
415376
{
416377
using var connection = new JetConnection(JetConnection.GetConnectionString(StoreName, Helpers.DataAccessProviderFactory));
417-
connection.GetSchema();
378+
Assert.Throws<InvalidOperationException>(() => connection.GetSchema());
418379
}
419380

420381
[TestMethod]
@@ -488,7 +449,6 @@ public void Transaction_Execute_Close_Open()
488449
}
489450

490451
[TestMethod]
491-
[ExpectedException(typeof(InvalidOperationException))]
492452
public void Transaction_Execute_Close_Open_Commit()
493453
{
494454
using var connection = new JetConnection(JetConnection.GetConnectionString(StoreName, Helpers.DataAccessProviderFactory));
@@ -505,7 +465,7 @@ public void Transaction_Execute_Close_Open_Commit()
505465
connection.Close();
506466
JetConnection.ClearAllPools();
507467
connection.Open();
508-
transaction.Commit();
468+
Assert.Throws<InvalidOperationException>(() => transaction.Commit());
509469

510470
using (var command = connection.CreateCommand("select count(*) from SimpleTable"))
511471
{
@@ -539,7 +499,6 @@ public void Transaction_Execute_Close_Open_Transaction()
539499
}
540500

541501
[TestMethod]
542-
[ExpectedException(typeof(InvalidOperationException))]
543502
public void Transaction_Transaction()
544503
{
545504
using var connection = new JetConnection(JetConnection.GetConnectionString(StoreName, Helpers.DataAccessProviderFactory));
@@ -550,15 +509,8 @@ public void Transaction_Transaction()
550509
command.Transaction = firstTransaction;
551510
command.ExecuteScalar();
552511

553-
try
554-
{
555-
using var secondTransaction = connection.BeginTransaction();
556-
}
557-
catch (Exception e)
558-
{
559-
Assert.AreEqual("JetConnection does not support parallel transactions", e.Message);
560-
throw;
561-
}
512+
var ex = Assert.Throws<InvalidOperationException>(() => connection.BeginTransaction());
513+
Assert.AreEqual("JetConnection does not support parallel transactions", ex.Message);
562514
}
563515

564516
[TestMethod]
@@ -620,7 +572,6 @@ public void Transaction_Rollback_Transaction()
620572
}
621573

622574
[TestMethod]
623-
[ExpectedException(typeof(InvalidOperationException))]
624575
public void Transaction_Execute_Commit_Execute_Transaction()
625576
{
626577
using var connection = new JetConnection(JetConnection.GetConnectionString(StoreName, Helpers.DataAccessProviderFactory));
@@ -640,11 +591,10 @@ public void Transaction_Execute_Commit_Execute_Transaction()
640591
command.Transaction = transaction;
641592
command.ExecuteScalar();
642593
}
643-
transaction.Commit();
594+
Assert.Throws<InvalidOperationException>(() => transaction.Commit());
644595
}
645596

646597
[TestMethod]
647-
[ExpectedException(typeof(InvalidOperationException))]
648598
public void Transaction_Execute_Commit_Commit()
649599
{
650600
using var connection = new JetConnection(JetConnection.GetConnectionString(StoreName, Helpers.DataAccessProviderFactory));
@@ -655,7 +605,7 @@ public void Transaction_Execute_Commit_Commit()
655605
command.Transaction = transaction;
656606
command.ExecuteScalar();
657607
transaction.Commit();
658-
transaction.Commit();
608+
Assert.Throws<InvalidOperationException>(() => transaction.Commit());
659609
}
660610
}
661611
}

0 commit comments

Comments
 (0)