我正在编写一个C#应用程序,它接受嵌入式SQL文件并使用FluentMigrator执行它们;我必须找到一种方法来剥离我的SQL某些字符,这些字符在尝试执行时会导致FluentMigrator出现问题。有三种通过FM执行SQL的方法:按名称执行文件,按名称执行嵌入式资源,以及内容为有效SQL的字符串。
以前,我曾尝试使用执行字符串中包含的sql的方法,在将字符传递给FM之前我可以删除坏字符。由于其他限制,我不能走这条路,必须通过给出嵌入资源的名称来执行SQL。这里的问题是我不能在执行此方法之前删除坏字符。
有没有办法执行代码,可以在构建/编译时从我的嵌入式资源文件中删除坏字符。我知道有构建事件,但它们似乎仅限于命令行功能。我可以做更多吗?
编辑:这些字符的一个例子是“\ r \ n”,“\ n \ r”,甚至是“;”一个人在一条线上。
答案 0 :(得分:3)
由于您可以在构建事件期间调用任意命令行函数,因此您实际上只受到想象力的限制。例如,您可以将字符剥离工具编译为可执行文件,然后从构建事件中调用.exe。