public SqlTableReference(ISqlConnectionProvider sqlConnectionProvider, string qualifiedTableName) { SqlConnectionProvider = sqlConnectionProvider ?? throw new ArgumentNullException(nameof(sqlConnectionProvider)); if (string.IsNullOrWhiteSpace(qualifiedTableName)) { throw new ArgumentException("Value cannot be null or whitespace.", nameof(qualifiedTableName)); } var fullTableName = DbTableNameWithNullableSchemaParser.ParseFullTableName(qualifiedTableName); SchemaName = fullTableName.SchemaName ?? throw new Exception("Schema name must be provided."); TableName = fullTableName.TableName; }
public void Table() { var parse1 = DbTableNameWithNullableSchemaParser.ParseFullTableName("dbo.Table"); parse1.Should().Be(new DbTableNameWithNullableSchema("dbo", "Table")); var parse2 = DbTableNameWithNullableSchemaParser.ParseFullTableName("Table"); parse2.Should().Be(new DbTableNameWithNullableSchema(null, "Table")); var parse3 = DbTableNameWithNullableSchemaParser.ParseFullTableName("[A.B]"); parse3.Should().Be(new DbTableNameWithNullableSchema(null, "A.B")); var parse4 = DbTableNameWithNullableSchemaParser.ParseFullTableName("dbo.[A.B]"); parse4.Should().Be(new DbTableNameWithNullableSchema("dbo", "A.B")); var parseFail = () => DbTableNameWithNullableSchemaParser.ParseFullTableName("d.bo.[A.B]"); parseFail.Should().Throw <Exception>(); }