ServiceStack.OrmLite.ForeignKeyConstraint.GetForeignKeyName C# (CSharp) Method

GetForeignKeyName() public method

public GetForeignKeyName ( ServiceStack.OrmLite.ModelDefinition modelDef, ServiceStack.OrmLite.ModelDefinition refModelDef, INamingStrategy NamingStrategy, FieldDefinition fieldDef ) : string
modelDef ServiceStack.OrmLite.ModelDefinition
refModelDef ServiceStack.OrmLite.ModelDefinition
NamingStrategy INamingStrategy
fieldDef FieldDefinition
return string
        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;
        }
    }