public string GetForeignKeyName(ModelDefinition modelDef, ModelDefinition refModelDef, INamingStrategy NamingStrategy, FieldDefinition fieldDef)
{
if (ForeignKeyName.IsNullOrEmpty())
{
var modelName = modelDef.IsInSchema
? modelDef.Schema + "_" + NamingStrategy.GetTableName(modelDef.ModelName)
: NamingStrategy.GetTableName(modelDef.ModelName);
var refModelName = refModelDef.IsInSchema
? refModelDef.Schema + "_" + NamingStrategy.GetTableName(refModelDef.ModelName)
: NamingStrategy.GetTableName(refModelDef.ModelName);
var fkName = $"FK_{modelName}_{refModelName}_{fieldDef.FieldName}";
return NamingStrategy.ApplyNameRestrictions(fkName);
}
return ForeignKeyName;
}
}