2

我正在编写一个 C# 应用程序,它采用嵌入式 SQL 文件并使用 FluentMigrator 执行它们;而且我必须找到一种方法来去除我的 SQL 中某些导致 FluentMigrator 尝试执行时出现问题的字符。通过 FM 执行 SQL 的方式有 3 种:按名称执行文件、按名称执行嵌入资源、内容为有效 SQL 的字符串。

以前,我曾尝试使用执行包含在字符串中的 sql 的方法,在将坏字符传递给 FM 之前,我可以在其中去除坏字符。由于其他限制,我不能走这条路,必须通过给出嵌入资源的名称来执行 SQL。这里的问题是我无法在通过这种方法执行之前去除坏字符。

有没有办法在构建/编译时执行可以从我的嵌入式资源文件中删除坏字符的代码。我知道有构建事件,但它们似乎仅限于命令行功能。我可以做更多吗?

编辑:这些字符的一个示例是“\r\n”、“\n\r”,甚至是“;” 一个人在一条线上。

4

1 回答 1

3

由于您可以在构建事件期间调用任意命令行函数,因此您实际上只受到您的想象力的限制。例如,您可以将字符剥离工具编译为可执行文件,然后从您的构建事件中调用 .exe。

于 2015-05-15T19:00:44.660 回答