using System.Reflection;
namespace FoodLabeling.Application.MultiTenancy;
///
/// 从程序集嵌入资源读取租户初始化 SQL 脚本。
///
public static class EmbeddedTenantSqlScripts
{
///
/// 读取指定嵌入资源中的 SQL 文本。
///
/// 包含 EmbeddedResource 的程序集
/// LogicalName 或完整资源名
public static string Read(Assembly assembly, string resourceName)
{
var stream = assembly.GetManifestResourceStream(resourceName);
if (stream == null)
{
var available = string.Join(", ", assembly.GetManifestResourceNames());
throw new InvalidOperationException(
$"未找到嵌入 SQL 资源「{resourceName}」。可用资源:{available}");
}
using (stream)
using (var reader = new StreamReader(stream))
{
return reader.ReadToEnd();
}
}
}