public static async Task<IEnumerable<ForeignConstrains>> GetForeignConstrainsAsync(this DbContext context, string tableName)
{
var sql = @$"
SELECT
OBJECT_NAME(fk.parent_object_id) AS TableName,
fk.name AS ConstrainName
FROM
sys.foreign_keys AS fk
JOIN
sys.foreign_key_columns AS fc ON fk.object_id = fc.constraint_object_id
WHERE
OBJECT_NAME(fk.referenced_object_id) = '{tableName}'
ORDER BY
TableName, ConstrainName;
";
return await context.Database.SqlQueryRaw<ForeignConstrains>(sql).ToListAsync();
}
public static async Task<IEnumerable<ForeignConstrains>> GetForeignConstrainsAsync(this DbContext context, string tableName)
{
var sql = @$"
SELECT
OBJECT_NAME(fk.parent_object_id) AS TableName,
fk.name AS ConstrainName
FROM
sys.foreign_keys AS fk
JOIN
sys.foreign_key_columns AS fc ON fk.object_id = fc.constraint_object_id
WHERE
OBJECT_NAME(fk.referenced_object_id) = '{tableName}'
ORDER BY
TableName, ConstrainName;
";
return await context.Database.SqlQueryRaw<ForeignConstrains>(sql).ToListAsync();
}