Пример #1
0
        public void GetFieldsTest()
        {
            IDbSourceEntity source = new DbSourceEntity(this.m_dataSource, null, new SqlServerDatabaseEntityProvider());
            IEnumerable <IDbDatabaseEntity> databases = source.Databases;

            IEnumerable <IDbViewFieldEntity> fields = from database in databases
                                                      where database.Name.Equals("Xphter.Framework.Test")
                                                      from view in database.Views
                                                      where view.Name.Equals("view0", StringComparison.OrdinalIgnoreCase)
                                                      from field in view.ViewFields
                                                      select field;

            IDbViewFieldEntity idField = (from field in fields
                                          where field.Name.Equals("ID", StringComparison.OrdinalIgnoreCase)
                                          select field).FirstOrDefault();

            Assert.IsTrue(idField != null);
            Assert.AreEqual <string>("int", idField.DatabaseType);
            Assert.AreEqual <Type>(typeof(int), idField.Type);

            IDbViewFieldEntity descriptionField = (from field in fields
                                                   where field.Name.Equals("Description", StringComparison.OrdinalIgnoreCase)
                                                   select field).FirstOrDefault();

            Assert.IsTrue(descriptionField != null);
            Assert.AreEqual <int>(50, descriptionField.MaxLength);
        }
        public void GetDatabasesTest()
        {
            IDbSourceEntity source = new DbSourceEntity(this.m_dataSource, null, new SqlServerDatabaseEntityProvider());
            IEnumerable <IDbDatabaseEntity> databases = source.Databases;

            Assert.IsTrue((from database in databases
                           where database.Name.Equals("Xphter.Framework.Test")
                           select database).Count() == 1);
        }
        public void GetViewsTest()
        {
            IDbSourceEntity   source   = new DbSourceEntity(this.m_dataSource, null, new SqlServerDatabaseEntityProvider());
            IDbDatabaseEntity database = new DbDatabaseEntity(source, "Xphter.Framework.Test", new SqlServerDataEntityProvider());

            Assert.IsTrue((from table in database.Views
                           where table.Name.Equals("viewSqlHelperTest")
                           select table).Count() == 1);
        }
        public void GetFieldsTest()
        {
            IDbSourceEntity source = new DbSourceEntity(this.m_dataSource, null, new SqlServerDatabaseEntityProvider());
            IEnumerable <IDbDatabaseEntity> databases = source.Databases;

            IEnumerable <IDbTableFieldEntity> fields = from database in databases
                                                       where database.Name.Equals("Xphter.Framework.Test")
                                                       from table in database.Tables
                                                       where table.Name.Equals("table0", StringComparison.OrdinalIgnoreCase)
                                                       from field in table.TableFields
                                                       select field;

            IDbTableFieldEntity primaryKeyField = (from field in fields
                                                   where field.Name.Equals("PrimaryKeyField", StringComparison.OrdinalIgnoreCase)
                                                   select field).FirstOrDefault();

            Assert.IsTrue(primaryKeyField != null);
            Assert.IsTrue(primaryKeyField.Constraints.Count() == 1);
            Assert.IsTrue(primaryKeyField.Constraints.First().Type == DbConstraintType.PrimaryKey);
            Assert.AreEqual <string>("int", primaryKeyField.DatabaseType);
            Assert.AreEqual <Type>(typeof(int), primaryKeyField.Type);

            IDbTableFieldEntity identityField = (from field in fields
                                                 where field.Name.Equals("IdentityField", StringComparison.OrdinalIgnoreCase)
                                                 select field).FirstOrDefault();

            Assert.IsTrue(identityField != null);
            Assert.IsTrue(identityField.IsIdentity);

            IDbTableFieldEntity uniqueKeyField0 = (from field in fields
                                                   where field.Name.Equals("UniqueField0", StringComparison.OrdinalIgnoreCase)
                                                   select field).FirstOrDefault();

            Assert.IsTrue(uniqueKeyField0 != null);
            Assert.IsTrue(uniqueKeyField0.Constraints.Count() == 1);
            Assert.IsTrue(uniqueKeyField0.Constraints.First().Type == DbConstraintType.UniqueKey);

            IDbTableFieldEntity uniqueKeyField1 = (from field in fields
                                                   where field.Name.Equals("UniqueField1", StringComparison.OrdinalIgnoreCase)
                                                   select field).FirstOrDefault();

            Assert.IsTrue(uniqueKeyField1 != null);
            Assert.IsTrue(uniqueKeyField1.Constraints.Count() == 2);
            Assert.IsTrue(uniqueKeyField1.Constraints.ElementAt(0).Type == DbConstraintType.UniqueKey);
            Assert.IsTrue(uniqueKeyField1.Constraints.ElementAt(1).Type == DbConstraintType.UniqueKey);
            //Assert.IsTrue(uniqueKeyField1.Constraints[2].Type == DbConstraintType.UniqueKey);
            Assert.IsTrue(uniqueKeyField1.HasDefaultValue);

            IDbTableFieldEntity uniqueKeyField2 = (from field in fields
                                                   where field.Name.Equals("UniqueField2", StringComparison.OrdinalIgnoreCase)
                                                   select field).FirstOrDefault();

            Assert.IsTrue(uniqueKeyField2 != null);
            Assert.IsTrue(uniqueKeyField2.Constraints.Count() == 1);
            Assert.IsTrue(uniqueKeyField2.Constraints.First().Type == DbConstraintType.UniqueKey);

            IDbTableFieldEntity foreignKeyField0 = (from field in fields
                                                    where field.Name.Equals("ForeignKey0", StringComparison.OrdinalIgnoreCase)
                                                    select field).FirstOrDefault();

            Assert.IsTrue(foreignKeyField0 != null);
            Assert.IsTrue(foreignKeyField0.Constraints.Count() == 1);
            Assert.IsTrue(foreignKeyField0.Constraints.First().ReferenceTable != null);
            Assert.AreEqual <string>("table1", foreignKeyField0.Constraints.First().ReferenceTable.Name);
            Assert.IsTrue(foreignKeyField0.ReferencedField != null);
            Assert.AreEqual <string>("PrimaryKey1", foreignKeyField0.ReferencedField.Name);

            IDbTableFieldEntity foreignKeyField1 = (from field in fields
                                                    where field.Name.Equals("ForeignKey1", StringComparison.OrdinalIgnoreCase)
                                                    select field).FirstOrDefault();

            Assert.IsTrue(foreignKeyField1 != null);
            Assert.IsTrue(foreignKeyField1.Constraints.Count() == 1);
            Assert.IsTrue(foreignKeyField1.Constraints.First().ReferenceTable != null);
            Assert.AreEqual <string>("table1", foreignKeyField1.Constraints.First().ReferenceTable.Name);
            Assert.IsTrue(foreignKeyField1.ReferencedField != null);
            Assert.AreEqual <string>("PrimaryKey0", foreignKeyField1.ReferencedField.Name);

            IDbTableFieldEntity uniqueIndexField0 = (from field in fields
                                                     where field.Name.Equals("UniqueIndexField0", StringComparison.OrdinalIgnoreCase)
                                                     select field).FirstOrDefault();

            Assert.IsTrue(uniqueIndexField0 != null);
            Assert.IsTrue(uniqueIndexField0.Constraints.Count() == 1);
            Assert.IsTrue(uniqueIndexField0.Constraints.First().Type == DbConstraintType.UniqueKey);

            IDbTableFieldEntity uniqueIndexField1 = (from field in fields
                                                     where field.Name.Equals("UniqueIndexField1", StringComparison.OrdinalIgnoreCase)
                                                     select field).FirstOrDefault();

            Assert.IsTrue(uniqueIndexField1 != null);
            Assert.IsTrue(uniqueIndexField1.Constraints.Count() == 1);
            Assert.IsTrue(uniqueIndexField1.Constraints.First().Type == DbConstraintType.UniqueKey);

            IDbTableFieldEntity descriptionField = (from field in fields
                                                    where field.Name.Equals("DescriptionField", StringComparison.OrdinalIgnoreCase)
                                                    select field).FirstOrDefault();

            Assert.IsTrue(descriptionField != null);
            Assert.AreEqual <string>("Field Description", descriptionField.Description);
            Assert.AreEqual <string>("varchar", descriptionField.DatabaseType);
            Assert.AreEqual <Type>(typeof(string), descriptionField.Type);
        }