我正在使用对比度安全性(指示SQL注入,漏洞的第三方工具)和实体框架,我的代码是这样的:
public int Insert(UserAddress userAddress)
{
_context.Entry(userAddress).State = EntityState.Added;
_context.SaveChanges();
return userAddress.Id;
}
执行SaveChanges()
时,会生成一个插入查询,如下所示:
INSERT [dbo].[Address] ([UserId], [Name], [Address1], [Address2],
[City], [State], [PostalCode],
[Location], [LocationTypeId],
[BusinessName], [DeliveryInstructions],
[IsDefault], [SortOrder])
VALUES ('111111a1-22z2-33x3-44y4-fbad42c09c3a', @2, 'address1', null,
'Alpharetta', 'GA', 30005,
'POINT (-80.2427068 30.0925161)', 0,
'', '',
1, 0)
现在,根据对比安全性,在查询中传递“null”不符合道德规范,这是不好的做法 - 但我想允许空值!
我可以使用SQL参数将空值传递给SaveChanges()
方法吗?
有没有办法解决这个问题?有没有人有任何想法?
答案 0 :(得分:0)
我是Contrast Security .NET代理的开发人员之一。对我们的产品来说,这听起来像是误报。在insert语句中使用null应该没有任何问题。
您能否提交支持请求并包含您的查找跟踪xml?我们很乐意看看并解决这个问题。