下面的代码通过 EF Core 的 Database.ExecuteSql 方法执行 SQL 语句
var sql = """
IF NOT EXISTS(SELECT * FROM sys.synonyms WHERE name = 'blog_PostCategoryMap')
BEGIN
CREATE SYNONYM [dbo].[blog_PostCategoryMap] FOR [blog_Links]
END
""";
db.Database.ExecuteSql(sql);
出现编译错误
Argument 2: cannot convert from 'string' to 'System.FormattableString'
通过 FormattableStringFactory.Create
解决了
using System.Runtime.CompilerServices;
private static void AddSynonyms(BlogDbContext db)
{
// ...
db.Database.ExecuteSql(FormattableStringFactory.Create(sql));
}
var sql = $"SQL STRING";
还是同样的问题