Exemplo n.º 1
0
        public void TestJoins()
        {
            var model = new SlowDataModelHelper();
            var qb    = new QueryBuilder <IEntity1>(model, null);


            var minId = 123;

            qb.Join(e => e.Child.Child.Child)
            .Where(e => e.Children.Each().SomeBool&& e.Id != minId)
            .OrderBy(e => e.Id)
            .OrderByDesc(e => e.ChildId)
            .Take(100)
            .Skip(10);

            var query = qb.Build();

            var joins = query.Joins.ToList();

            Assert.Equal(3, joins.Count);

            var qstr = query.ToString();

            Assert.NotNull(query);
        }
        public void TestColumnsMapping()
        {
            var sut = new SlowDataModelHelper();

            var cols = sut.GetTableDataColumns(typeof(IEttx)).ToList();

            Assert.Equal(5, cols.Count);
        }
Exemplo n.º 3
0
        public void TestRootEntityNameAndAlias()
        {
            var model = new SlowDataModelHelper();
            var qb    = new QueryBuilder <IEntity1>(model, null);

            var query = qb.Build();

            Assert.Equal("Entity1", query.RootTableName);
            Assert.Equal(nameof(IEntity1), query.RootTableAlias);
        }
Exemplo n.º 4
0
        public void TestSelectedColumns()
        {
            var model = new SlowDataModelHelper();
            var qb    = new QueryBuilder <IEntity1>(model, null);

            var query = qb.Build();

            Assert.Equal(0, query.Joins.Count());

            var colsList = query.SelectedColumns.ToList();

            Assert.Equal(5, colsList.Count);
            Assert.NotNull(colsList.Single(i => i.ColumnName == nameof(IEntity1.Id)));
            Assert.NotNull(colsList.Single(i => i.ColumnName == nameof(IEntity1.ChildId)));
            Assert.NotNull(colsList.Single(i => i.ColumnName == nameof(IEntity1.SomeText)));
            Assert.NotNull(colsList.Single(i => i.ColumnName == nameof(IEntity1.SomeBool)));
            Assert.NotNull(colsList.Single(i => i.ColumnName == nameof(IEntity1.ParentId)));

            Assert.True(colsList.All(i => i.EntityAlias == nameof(IEntity1)));
        }
        public void TestBeingReferrenced()
        {
            var sut = new SlowDataModelHelper();

            var refs = sut.GetReferences(typeof(IHouse)).ToList();

            Assert.Equal(2, refs.Count);

            var referenceInfo = refs.Single(i => i.LeftModelPropertyName == nameof(IHouse.Owners));

            Assert.Equal(typeof(IHouse), referenceInfo.LeftEntityType);
            Assert.Equal(nameof(IHouse.Id), referenceInfo.LeftKeyColumnName);
            Assert.Equal(nameof(IUser.HouseId), referenceInfo.RightKeyColumnName);
            Assert.Equal(typeof(IUser), referenceInfo.RightEntityType);

            referenceInfo = refs.Single(i => i.LeftModelPropertyName == nameof(IHouse.WeekendOwners));
            Assert.Equal(typeof(IHouse), referenceInfo.LeftEntityType);
            Assert.Equal(nameof(IHouse.Id), referenceInfo.LeftKeyColumnName);
            Assert.Equal(nameof(IUser.WeekendHouseId), referenceInfo.RightKeyColumnName);
            Assert.Equal(typeof(IUser), referenceInfo.RightEntityType);
        }