using (var context = new EFCoreDbContext())
{
var searchString = "Jeffcky Wang";
FormattableString sql = $@"SELECT Id, Name, Url, CreatedTime, ModifiedTime FROM dbo.Blogs WHERE Name = {searchString}";
var blogs = context.Blogs
.FromSql(sql)
.Include(d => d.Posts)
.ToList();
}
通过 $@ 并利用FormattableString重载或者传递参数化变量来防止SQL注入问题,希望您发现EF Core 2.0中这个新特性,同时不要忘记它也用来承担更大的责任,由于SQL注入攻击,不会让我们所写代码存在漏洞。