我使用的是对比安全性(指示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()方法?
有什么办法解决这个问题吗?有谁知道吗?
发布于 2017-11-18 03:26:43
我是Contrast Security .NET代理的开发人员之一。这听起来确实像是我们产品的假阳性。在insert语句中使用空值应该不会有任何问题。
您能否提交支持请求并包含您的调查结果跟踪xml?我们很乐意看一看,并在我们这端解决这个问题。
https://stackoverflow.com/questions/47036667
复制相似问题