内联SQL查询与实体框架触发的查询之间有什么区别?

时间:2013-10-31 19:38:42

标签: asp.net entity-framework orm

我是Entity Framework的新手。

我在想在编写内联SQL查询和实体框架之间有什么区别。如果内联SQL查询容易发生SQL注入攻击,那么Entity Framework如何更安全?

我看到的唯一区别是我们使用LINQ与Entity Framework进行交互,但内部Entity Framework类以某种语言与数据库交互。与内联查询相比,它如何更安全?

1 个答案:

答案 0 :(得分:2)

Entity Framework具有用于参数化查询的内置功能,可防止在SQL注入中注入像单引号这样的字符。只要使用ADO.NET或类似的框架以正确的方式参数化和构建查询,内联SQL也是安全的。

最后,如果您不清理输入并参数化查询,内联SQL可能非常糟糕。实体框架只是在幕后为您完成所有这些工作,使其本身更安全。