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); }