一尘不染

执行存储为资源的SQL脚本

sql

我想在解决方案中存储冗长的.sql脚本并以编程方式执行它们。我已经想出了如何执行包含我的sql脚本的字符串,但是还没有想出如何从解决方案中存储的文件中读取字符串(例如,在/
Scripts子文件夹下)。


阅读 141

收藏
2021-05-05

共1个答案

一尘不染

首先,编辑.sql文件的属性,以便将其作为资源嵌入。

然后使用类似于以下代码的代码来检索脚本:

string commandText;
Assembly thisAssembly = Assembly.GetExecutingAssembly();
using (Stream s = thisAssembly.GetManifestResourceStream(
      "{project default namespace}.{path in project}.{filename}.sql"))
{
   using (StreamReader sr = new StreamReader(s))
   {
      commandText = sr.ReadToEnd();
   }
}
2021-05-05