对于一个学校项目,不允许使用存储过程存储SQL脚本。为了解决这个问题,我尝试在班级程序集内创建一个SQL_scripts文件夹。
现在,我陷入了如何从相对路径读取脚本的问题?
这是我尝试失败的尝试:
var appDomain = System.AppDomain.CurrentDomain;
var basePath = appDomain.RelativeSearchPath ?? appDomain.BaseDirectory;
string path = Path.Combine(basePath, "SQL_scriptes", "GetAllEmptyRoomsAtDateRange.sql");
string query = File.ReadAllText(path);
但是我总是在以下文件夹中:
任何的想法?
您应该使用sql代码作为嵌入式资源添加文件:
并使用以下函数从文件获取SQL:
public string GetScript(string scriptName)
{
var assembly = Assembly.GetExecutingAssembly();
var resourceName = "Q46868043.SQL_scripts." + scriptName;
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
using (StreamReader reader = new StreamReader(stream))
{
return reader.ReadToEnd();
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句