public void SqlScope_AddChildScopeTest()
        {
            var sut = new SqlScope();
            var a   = sut.CreateChildScope();
            var b   = a.CreateChildScope();
            var c   = b.CreateChildScope();
            var d   = b.CreateChildScope();

            a.Add(SqlName.Parse("a", ObjectLevel.Local), "1");
            b.Add(SqlName.Parse("b", ObjectLevel.Local), "2");
            c.Add(SqlName.Parse("c", ObjectLevel.Local), "3");
            d.Add(SqlName.Parse("d", ObjectLevel.Local), "4");
            Assert.Equal("1", a.ResolveObject(SqlName.Parse("a", ObjectLevel.Local), null));
            Assert.Null(a.ResolveObject(SqlName.Parse("b", ObjectLevel.Local), null));
            Assert.Null(a.ResolveObject(SqlName.Parse("c", ObjectLevel.Local), null));
            Assert.Null(a.ResolveObject(SqlName.Parse("d", ObjectLevel.Local), null));

            Assert.Equal("1", b.ResolveObject(SqlName.Parse("a", ObjectLevel.Local), null));
            Assert.Equal("2", b.ResolveObject(SqlName.Parse("b", ObjectLevel.Local), null));
            Assert.Null(b.ResolveObject(SqlName.Parse("c", ObjectLevel.Local), null));
            Assert.Null(b.ResolveObject(SqlName.Parse("d", ObjectLevel.Local), null));

            Assert.Equal("1", c.ResolveObject(SqlName.Parse("a", ObjectLevel.Local), null));
            Assert.Equal("2", c.ResolveObject(SqlName.Parse("b", ObjectLevel.Local), null));
            Assert.Equal("3", c.ResolveObject(SqlName.Parse("c", ObjectLevel.Local), null));
            Assert.Null(c.ResolveObject(SqlName.Parse("d", ObjectLevel.Local), null));

            Assert.Equal("1", d.ResolveObject(SqlName.Parse("a", ObjectLevel.Local), null));
            Assert.Equal("2", d.ResolveObject(SqlName.Parse("b", ObjectLevel.Local), null));
            Assert.Null(d.ResolveObject(SqlName.Parse("c", ObjectLevel.Local), null));
            Assert.Equal("4", d.ResolveObject(SqlName.Parse("d", ObjectLevel.Local), null));
        }
        public void SqlScope_ResolveTest()
        {
            var sut = new SqlScope(null);
            var a   = sut.CreateChildScope();

            sut.Add(SqlName.Parse("a", ObjectLevel.Unknown), "42");
            Assert.Equal("42", a.ResolveObject(SqlName.Parse("a", ObjectLevel.Local), null));
        }
示例#3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ModelSqlTable"/> class.
 /// </summary>
 /// <param name="scopeSchema">the scope of the owner - schema</param>
 public ModelSqlTable(SqlScope scopeSchema)
 {
     this._Scope = (scopeSchema?.CreateChildScope(this)) ?? (new SqlScope(null, this));
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ModelSqlDatabase"/> class.
 /// </summary>
 /// <param name="scope">the scope</param>
 public ModelSqlDatabase(SqlScope scope)
     : this()
 {
     this._Scope = (scope?.CreateChildScope(this)) ?? (new SqlScope(null, this));
 }
示例#5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ModelSqlSchema"/> class.
 /// </summary>
 /// <param name="scopeDatbase">the database scope.</param>
 public ModelSqlSchema(SqlScope scopeDatbase)
     : this()
 {
     this._Scope = (scopeDatbase?.CreateChildScope(this)) ?? (new SqlScope(null, this));
 }