private void RenameForeignKeys(IMutableEntityType entity) { foreach (var key in entity.GetForeignKeys()) { key.SetConstraintName(_renameFunc(key.GetConstraintName())); } }
/// <summary> /// Configure the foreign keys of a single entity. /// Disable Cascade Delete /// </summary> /// <param name="entity"></param> private static void ConfigureForeignKeys(IMutableEntityType entity) { foreach (var foreignKey in entity.GetForeignKeys().Where(fk => !fk.IsOwnership && fk.DeleteBehavior == DeleteBehavior.Cascade)) { foreignKey.DeleteBehavior = DeleteBehavior.Restrict; } }
private static void NamesToSnakeCase(IMutableEntityType entity) { // Replace table names entity.SetTableName(entity.GetTableName().ToLower()); // Replace column names foreach (var property in entity.GetProperties()) { property.SetColumnName(property.Name.ToLower()); } foreach (var key in entity.GetKeys()) { key.SetName(key.GetName().ToLower()); } foreach (var key in entity.GetForeignKeys()) { key.SetConstraintName(key.GetConstraintName().ToLower()); } foreach (var index in entity.GetIndexes()) { index.SetName(index.GetName().ToLower()); } }
private static void ConvertForeignKeys(IMutableEntityType entity) { foreach (var key in entity.GetForeignKeys()) { key.SetConstraintName(key.GetConstraintName().ToSnakeCase()); } }
/// <summary> /// Underscores primary and foreign keys for the given IMutableEntityType. /// </summary> /// <param name="entity"></param> public static void UnderscoreKeys(this IMutableEntityType entity) { foreach (var key in entity.GetKeys()) { key.Relational().Name = key.Relational().Name.Underscore(); } foreach (var key in entity.GetForeignKeys()) { key.Relational().Name = key.Relational().Name.Underscore(); } }
private static List <PrimaryKeyDefinition> GetPrimaryKeyDefinition(IMutableEntityType entityType) { var keyProperties = entityType.FindPrimaryKey().Properties; var foreignKeys = entityType.GetForeignKeys().SelectMany(i => i.Properties); return(keyProperties.Select(i => new PrimaryKeyDefinition() { Name = i.Name, Type = i.ClrType, IsPrimaryAndForeign = foreignKeys.Select(j => j.Name).Contains(i.Name) }).ToList()); }
private void testForeignKey(IMutableEntityType entity, string name = null, Type t = null) { var keys = entity.GetForeignKeys(); foreach (var k in keys) { var key = k.Properties.FirstOrDefault(x => x.Name == name); if (key is null) { continue; } Assert.AreEqual(k.PrincipalEntityType.Name, t?.FullName); return; } Assert.Fail("No foreign key found"); }
private static void testForeignKey(IMutableEntityType entity, int foreignKeysCount) { Assert.AreEqual(foreignKeysCount, entity.GetForeignKeys().Count()); }