Skip to content

Commit 6a432e8

Browse files
committed
unit tests all passing
1 parent b6c0832 commit 6a432e8

20 files changed

+851
-5455
lines changed

EF.Reverse.POCO.GeneratorV3.sln

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PostgreSQL", "PostgreSQL",
4040
ProjectSection(SolutionItems) = preProject
4141
EfrpgTest.sql = EfrpgTest.sql
4242
TestDatabases\PostgreSQL\northwind.sql = TestDatabases\PostgreSQL\northwind.sql
43+
postgid_test.sql = postgid_test.sql
4344
EndProjectSection
4445
EndProject
4546
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SQLServer", "SQLServer", "{D303B1E7-49FF-4113-A904-87649C18B835}"

EntityFramework.Reverse.POCO.Generator/EF.Reverse.POCO.v3.ttinclude

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14160,7 +14160,7 @@ SELECT T.TABLE_SCHEMA AS ""SchemaName"",
1416014160
AND C.TABLE_SCHEMA = fk.TABLE_SCHEMA
1416114161
AND C.TABLE_NAME = fk.TABLE_NAME
1416214162
AND C.COLUMN_NAME = fk.COLUMN_NAME) THEN 1 ELSE 0 END AS bit) AS ""IsForeignKey"",
14163-
NULL AS ""SynonymTriggerName"",
14163+
NULL AS ""SynonymTriggerName""
1416414164
FROM INFORMATION_SCHEMA.TABLES T
1416514165
INNER JOIN INFORMATION_SCHEMA.COLUMNS C
1416614166
ON T.TABLE_SCHEMA = C.TABLE_SCHEMA

Generator.Tests.Integration/App.config

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,10 @@
5454
<assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
5555
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
5656
</dependentAssembly>
57+
<dependentAssembly>
58+
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
59+
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
60+
</dependentAssembly>
5761
</assemblyBinding>
5862
</runtime>
5963
<system.data>

Generator.Tests.Integration/SingleDatabaseTestBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ protected static void Run(string filename, string singleDbContextSubNamespace, T
108108

109109
protected static void CompareAgainstFolderTestComparison(string subFolder)
110110
{
111-
var testRootPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "OneDrive-Personal\\OneDrive\\Documents");
111+
var testRootPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "OneDrive\\Documents");
112112
if (!string.IsNullOrEmpty(subFolder))
113113
testRootPath = Path.Combine(testRootPath, subFolder);
114114

Generator.Tests.Integration/SingleDatabaseTestPostgreSql.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public void SetupPostgreSQL(string database, string connectionStringName, string
1818
{
1919
SetupDatabase(connectionStringName, dbContextName, templateType, generatorType, foreignKeyNamingStrategy);
2020

21-
Settings.ConnectionString = $"Server=127.0.0.1;Port=5432;Database={database};User Id=testuser;Password=testtesttest;";
21+
Settings.ConnectionString = $"Server=127.0.0.1;Port=5433;Database={database};User Id=testuser;Password=testtesttest;";
2222
Settings.DatabaseType = DatabaseType.PostgreSQL;
2323
}
2424

@@ -31,7 +31,7 @@ public void CheckNorthwindConnection()
3131
using (var conn = factory.CreateConnection())
3232
{
3333
Assert.IsNotNull(conn);
34-
conn.ConnectionString = "Server=127.0.0.1;Port=5432;Database=Northwind;User Id=testuser;Password=testtesttest;";
34+
conn.ConnectionString = "Server=127.0.0.1;Port=5433;Database=Northwind;User Id=testuser;Password=testtesttest;";
3535
conn.Open();
3636

3737
var cmd = conn.CreateCommand();

Generator.Tests.Integration/SingleDatabaseTestSqlCeServer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public void SetupSqlCe(string database, string connectionStringName, string dbCo
1818
SetupDatabase(connectionStringName, dbContextName, templateType, generatorType, foreignKeyNamingStrategy);
1919

2020
Settings.ConnectionString =
21-
@"Data Source=C:\S\Source (open source)\EntityFramework Reverse POCO Code Generator\EntityFramework.Reverse.POCO.Generator\App_Data\" +
21+
@"Data Source=C:\S\Source (open source)\EntityFramework-Reverse-POCO-Code-First-Generator\EntityFramework.Reverse.POCO.Generator\App_Data\" +
2222
database;
2323
Settings.DatabaseType = DatabaseType.SqlCe;
2424
}

Generator.Tests.Integration/TestComparison/EfrpgTest_PostgreSQL_EfCore7_FkLegacy.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
9898
{
9999
if (!optionsBuilder.IsConfigured)
100100
{
101-
optionsBuilder.UseNpgsql(@"Server=127.0.0.1;Port=5432;Database=EfrpgTest;User Id=testuser;Password=testtesttest;");
101+
optionsBuilder.UseNpgsql(@"Server=127.0.0.1;Port=5433;Database=EfrpgTest;User Id=testuser;Password=testtesttest;");
102102
optionsBuilder.UseLazyLoadingProxies();
103103
}
104104
}

Generator.Tests.Integration/TestComparison/EfrpgTest_SqlServer_Ef6_FkLegacy.cs

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,8 @@ public interface IEfrpgTestDbContext : IDisposable
116116
DbSet<TblOrderError> TblOrderErrors { get; set; } // tblOrderErrors
117117
DbSet<TblOrderErrorsAb> TblOrderErrorsAbs { get; set; } // tblOrderErrorsAB_
118118
DbSet<TblOrderLine> TblOrderLines { get; set; } // tblOrderLines
119+
DbSet<TemporalDepartment> TemporalDepartments { get; set; } // TemporalDepartment
120+
DbSet<TemporalDepartmentHistory> TemporalDepartmentHistories { get; set; } // TemporalDepartmentHistory
119121
DbSet<ThisIsMemoryOptimised> ThisIsMemoryOptimiseds { get; set; } // ThisIsMemoryOptimised
120122
DbSet<Ticket> Tickets { get; set; } // Ticket
121123
DbSet<TimestampNotNull> TimestampNotNulls { get; set; } // TimestampNotNull
@@ -420,6 +422,8 @@ public class EfrpgTestDbContext : DbContext, IEfrpgTestDbContext
420422
public DbSet<TblOrderError> TblOrderErrors { get; set; } // tblOrderErrors
421423
public DbSet<TblOrderErrorsAb> TblOrderErrorsAbs { get; set; } // tblOrderErrorsAB_
422424
public DbSet<TblOrderLine> TblOrderLines { get; set; } // tblOrderLines
425+
public DbSet<TemporalDepartment> TemporalDepartments { get; set; } // TemporalDepartment
426+
public DbSet<TemporalDepartmentHistory> TemporalDepartmentHistories { get; set; } // TemporalDepartmentHistory
423427
public DbSet<ThisIsMemoryOptimised> ThisIsMemoryOptimiseds { get; set; } // ThisIsMemoryOptimised
424428
public DbSet<Ticket> Tickets { get; set; } // Ticket
425429
public DbSet<TimestampNotNull> TimestampNotNulls { get; set; } // TimestampNotNull
@@ -587,6 +591,8 @@ protected override void OnModelCreating(DbModelBuilder modelBuilder)
587591
modelBuilder.Configurations.Add(new TblOrderErrorConfiguration());
588592
modelBuilder.Configurations.Add(new TblOrderErrorsAbConfiguration());
589593
modelBuilder.Configurations.Add(new TblOrderLineConfiguration());
594+
modelBuilder.Configurations.Add(new TemporalDepartmentConfiguration());
595+
modelBuilder.Configurations.Add(new TemporalDepartmentHistoryConfiguration());
590596
modelBuilder.Configurations.Add(new ThisIsMemoryOptimisedConfiguration());
591597
modelBuilder.Configurations.Add(new TicketConfiguration());
592598
modelBuilder.Configurations.Add(new TimestampNotNullConfiguration());
@@ -744,6 +750,20 @@ protected override void OnModelCreating(DbModelBuilder modelBuilder)
744750
new IndexAnnotation(new IndexAttribute("fki_ParentTableA_FK_Constraint", 1))
745751
);
746752

753+
modelBuilder.Entity<TemporalDepartmentHistory>()
754+
.Property(e => e.SysStartTime)
755+
.HasColumnAnnotation(
756+
IndexAnnotation.AnnotationName,
757+
new IndexAnnotation(new IndexAttribute("ix_TemporalDepartmentHistory", 2))
758+
);
759+
760+
modelBuilder.Entity<TemporalDepartmentHistory>()
761+
.Property(e => e.SysEndTime)
762+
.HasColumnAnnotation(
763+
IndexAnnotation.AnnotationName,
764+
new IndexAnnotation(new IndexAttribute("ix_TemporalDepartmentHistory", 1))
765+
);
766+
747767
modelBuilder.Entity<WVN_Article>()
748768
.Property(e => e.FkFactory)
749769
.HasColumnAnnotation(
@@ -856,6 +876,8 @@ public static DbModelBuilder CreateModel(DbModelBuilder modelBuilder, string sch
856876
modelBuilder.Configurations.Add(new TblOrderErrorConfiguration(schema));
857877
modelBuilder.Configurations.Add(new TblOrderErrorsAbConfiguration(schema));
858878
modelBuilder.Configurations.Add(new TblOrderLineConfiguration(schema));
879+
modelBuilder.Configurations.Add(new TemporalDepartmentConfiguration(schema));
880+
modelBuilder.Configurations.Add(new TemporalDepartmentHistoryConfiguration(schema));
859881
modelBuilder.Configurations.Add(new ThisIsMemoryOptimisedConfiguration(schema));
860882
modelBuilder.Configurations.Add(new TicketConfiguration(schema));
861883
modelBuilder.Configurations.Add(new TimestampNotNullConfiguration(schema));
@@ -2346,6 +2368,8 @@ public class FakeEfrpgTestDbContext : IEfrpgTestDbContext
23462368
public DbSet<TblOrderError> TblOrderErrors { get; set; } // tblOrderErrors
23472369
public DbSet<TblOrderErrorsAb> TblOrderErrorsAbs { get; set; } // tblOrderErrorsAB_
23482370
public DbSet<TblOrderLine> TblOrderLines { get; set; } // tblOrderLines
2371+
public DbSet<TemporalDepartment> TemporalDepartments { get; set; } // TemporalDepartment
2372+
public DbSet<TemporalDepartmentHistory> TemporalDepartmentHistories { get; set; } // TemporalDepartmentHistory
23492373
public DbSet<ThisIsMemoryOptimised> ThisIsMemoryOptimiseds { get; set; } // ThisIsMemoryOptimised
23502374
public DbSet<Ticket> Tickets { get; set; } // Ticket
23512375
public DbSet<TimestampNotNull> TimestampNotNulls { get; set; } // TimestampNotNull
@@ -2453,6 +2477,8 @@ public FakeEfrpgTestDbContext()
24532477
TblOrderErrors = new FakeDbSet<TblOrderError>("Id");
24542478
TblOrderErrorsAbs = new FakeDbSet<TblOrderErrorsAb>("Id");
24552479
TblOrderLines = new FakeDbSet<TblOrderLine>("Id");
2480+
TemporalDepartments = new FakeDbSet<TemporalDepartment>("DeptId");
2481+
TemporalDepartmentHistories = new FakeDbSet<TemporalDepartmentHistory>("DeptId", "DeptName", "SysStartTime", "SysEndTime");
24562482
ThisIsMemoryOptimiseds = new FakeDbSet<ThisIsMemoryOptimised>("Id");
24572483
Tickets = new FakeDbSet<Ticket>("Id");
24582484
TimestampNotNulls = new FakeDbSet<TimestampNotNull>("Id");
@@ -4841,6 +4867,28 @@ public class TblOrderLine
48414867
public virtual TblOrder TblOrder { get; set; } // tblOrdersFK
48424868
}
48434869

4870+
// TemporalDepartment
4871+
public class TemporalDepartment
4872+
{
4873+
public int DeptId { get; set; } // DeptID (Primary key)
4874+
public string DeptName { get; set; } // DeptName (length: 50)
4875+
public int? ManagerId { get; set; } // ManagerID
4876+
public int? ParentDeptId { get; set; } // ParentDeptID
4877+
public DateTime SysStartTime { get; set; } // SysStartTime
4878+
public DateTime SysEndTime { get; set; } // SysEndTime
4879+
}
4880+
4881+
// TemporalDepartmentHistory
4882+
public class TemporalDepartmentHistory
4883+
{
4884+
public int DeptId { get; set; } // DeptID (Primary key)
4885+
public string DeptName { get; set; } // DeptName (Primary key) (length: 50)
4886+
public int? ManagerId { get; set; } // ManagerID
4887+
public int? ParentDeptId { get; set; } // ParentDeptID
4888+
public DateTime SysStartTime { get; set; } // SysStartTime (Primary key)
4889+
public DateTime SysEndTime { get; set; } // SysEndTime (Primary key)
4890+
}
4891+
48444892
// The table 'Test' is not usable by entity framework because it
48454893
// does not have a primary key. It is listed here for completeness.
48464894
// Test
@@ -6842,6 +6890,50 @@ public TblOrderLineConfiguration(string schema)
68426890
}
68436891
}
68446892

6893+
// TemporalDepartment
6894+
public class TemporalDepartmentConfiguration : EntityTypeConfiguration<TemporalDepartment>
6895+
{
6896+
public TemporalDepartmentConfiguration()
6897+
: this("dbo")
6898+
{
6899+
}
6900+
6901+
public TemporalDepartmentConfiguration(string schema)
6902+
{
6903+
ToTable("TemporalDepartment", schema);
6904+
HasKey(x => x.DeptId);
6905+
6906+
Property(x => x.DeptId).HasColumnName(@"DeptID").HasColumnType("int").IsRequired().HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
6907+
Property(x => x.DeptName).HasColumnName(@"DeptName").HasColumnType("varchar").IsRequired().IsUnicode(false).HasMaxLength(50);
6908+
Property(x => x.ManagerId).HasColumnName(@"ManagerID").HasColumnType("int").IsOptional();
6909+
Property(x => x.ParentDeptId).HasColumnName(@"ParentDeptID").HasColumnType("int").IsOptional();
6910+
Property(x => x.SysStartTime).HasColumnName(@"SysStartTime").HasColumnType("datetime2").IsRequired().HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
6911+
Property(x => x.SysEndTime).HasColumnName(@"SysEndTime").HasColumnType("datetime2").IsRequired().HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
6912+
}
6913+
}
6914+
6915+
// TemporalDepartmentHistory
6916+
public class TemporalDepartmentHistoryConfiguration : EntityTypeConfiguration<TemporalDepartmentHistory>
6917+
{
6918+
public TemporalDepartmentHistoryConfiguration()
6919+
: this("dbo")
6920+
{
6921+
}
6922+
6923+
public TemporalDepartmentHistoryConfiguration(string schema)
6924+
{
6925+
ToTable("TemporalDepartmentHistory", schema);
6926+
HasKey(x => new { x.DeptId, x.DeptName, x.SysStartTime, x.SysEndTime });
6927+
6928+
Property(x => x.DeptId).HasColumnName(@"DeptID").HasColumnType("int").IsRequired().HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
6929+
Property(x => x.DeptName).HasColumnName(@"DeptName").HasColumnType("varchar").IsRequired().IsUnicode(false).HasMaxLength(50).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
6930+
Property(x => x.ManagerId).HasColumnName(@"ManagerID").HasColumnType("int").IsOptional();
6931+
Property(x => x.ParentDeptId).HasColumnName(@"ParentDeptID").HasColumnType("int").IsOptional();
6932+
Property(x => x.SysStartTime).HasColumnName(@"SysStartTime").HasColumnType("datetime2").IsRequired().HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
6933+
Property(x => x.SysEndTime).HasColumnName(@"SysEndTime").HasColumnType("datetime2").IsRequired().HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
6934+
}
6935+
}
6936+
68456937
// ThisIsMemoryOptimised
68466938
public class ThisIsMemoryOptimisedConfiguration : EntityTypeConfiguration<ThisIsMemoryOptimised>
68476939
{

Generator.Tests.Integration/TestComparison/EfrpgTest_SqlServer_EfCore6_FkLegacy.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
using Microsoft.EntityFrameworkCore.Query;
1111
using Microsoft.EntityFrameworkCore.Query.Internal;
1212
using Microsoft.EntityFrameworkCore.Storage;
13+
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
1314
using System;
1415
using System.Collections;
1516
using System.Collections.Generic;
@@ -5616,7 +5617,7 @@ public void Configure(EntityTypeBuilder<dcg_RovColumnDefinition> builder)
56165617
builder.Property(x => x.DomainCatalog).HasColumnName(@"DOMAIN_CATALOG").HasColumnType("nvarchar(128)").IsRequired(false).HasMaxLength(128);
56175618
builder.Property(x => x.DomainSchema).HasColumnName(@"DOMAIN_SCHEMA").HasColumnType("nvarchar(128)").IsRequired(false).HasMaxLength(128);
56185619
builder.Property(x => x.DomainName).HasColumnName(@"DOMAIN_NAME").HasColumnType("nvarchar(128)").IsRequired(false).HasMaxLength(128);
5619-
builder.Property(x => x.Type).HasColumnName(@"TYPE").HasColumnType("char(2)").IsRequired(false).IsFixedLength().IsUnicode(false).HasMaxLength(2);
5620+
builder.Property(x => x.Type).HasColumnName(@"TYPE").HasColumnType("char(2)").HasConversion(new ValueConverter<string, string>(v => v.TrimEnd(), v => v.TrimEnd())).IsRequired(false).IsFixedLength().IsUnicode(false).HasMaxLength(2);
56205621
}
56215622
}
56225623

Generator.Tests.Integration/TestComparison/EfrpgTest_SqlServer_EfCore7_FkLegacy.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -609,6 +609,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
609609
modelBuilder.Entity<CalculatedColumnNotNull>().ToTable(tb => tb.HasTrigger("CalculatedColumnAuditUpdate"));
610610
modelBuilder.Entity<Car>().ToTable(tb => tb.HasTrigger("HasComputedColumn"));
611611
modelBuilder.Entity<Stafford_ComputedColumn>().ToTable(tb => tb.HasTrigger("HasComputedColumn"));
612+
modelBuilder.Entity<Synonyms_Child>().ToTable(tb => tb.HasTrigger("ChildInsertTrigger"));
612613

613614
modelBuilder.Entity<ColourPivotReturnModel>().HasNoKey();
614615
modelBuilder.Entity<DboProcDataFromFfrsReturnModel>().HasNoKey();

0 commit comments

Comments
 (0)