public static ReverseEngineerOptions FromV1(ReverseEngineerOptionsV1 v1) { if (v1 == null) { throw new ArgumentNullException(nameof(v1)); } return(new ReverseEngineerOptions { DatabaseType = v1.DatabaseType, ConnectionString = v1.ConnectionString, ProjectPath = v1.ProjectPath, OutputPath = v1.OutputPath, ProjectRootNamespace = v1.ProjectRootNamespace, UseFluentApiOnly = v1.UseFluentApiOnly, ContextClassName = v1.ContextClassName, Tables = v1.Tables .Select(m => { // Try to parse the strings TableInformation.TryParse(m, out var ti); return ti; }) .Where(m => m != null) // Only select the table information that could be parsed .ToList(), UseDatabaseNames = v1.UseDatabaseNames, UseInflector = v1.UseInflector, IdReplace = v1.IdReplace, UseHandleBars = v1.UseHandleBars, IncludeConnectionString = v1.IncludeConnectionString, SelectedToBeGenerated = v1.SelectedToBeGenerated, Dacpac = v1.Dacpac, CustomReplacers = v1.CustomReplacers, DefaultDacpacSchema = v1.DefaultDacpacSchema });
public void TryParse_Empty() { // Arrange string table = null; // Act var parsed = TableInformation.TryParse(table, out var tableInformation); // Assert Assert.IsFalse(parsed); Assert.IsNull(tableInformation); }
public void TryParse_OnlyTable_CorrectCreation() { // Arrange var table = "dbo.Album"; // Act var parsed = TableInformation.TryParse(table, out var ti); // Assert Assert.IsTrue(parsed); Assert.AreEqual("dbo", ti.Schema); Assert.AreEqual("Album", ti.Name); Assert.IsTrue(ti.HasPrimaryKey); Assert.AreEqual("dbo.Album", ti.UnsafeFullName); Assert.AreEqual("[dbo].[Album]", ti.SafeFullName); }
public void TryParse_NotTwoPeriods() { // Arrange var table1 = "Album"; var table2 = "[config.legacy].Album"; // Act var parsed1 = TableInformation.TryParse(table1, out var tableInformation1); var parsed2 = TableInformation.TryParse(table2, out var tableInformation2); // Assert Assert.IsFalse(parsed1); Assert.IsFalse(parsed2); Assert.IsNull(tableInformation1); Assert.IsNull(tableInformation2); }