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(); } } }