我正在更新严重依赖强类型数据集的现有应用程序。
最初的开发人员在每个数据集上创建了许多非常相似的查询来处理可能的任何参数组合,这很难更新。
所以我只创建了其中的几个,但带有可选参数,所以如果参数设置为 null ,则过滤器将被忽略:WHERE (@code IS NULL OR art_code = @code)
并且使用大多数参数。
为此,我必须手动访问和编辑Parameters
Query 属性中的集合以设置AllowDbNull
为True
(我猜由于该列不可为空,设计器会自动将其设置为False
)
这工作得很好,正如预期的那样。
问题是设计者不断重置这个值,每次我编辑数据集时都有很高的回归风险,即使我没有接触查询。
我能做些什么来防止这种情况发生吗?
这可能是我编写查询的方式?
C# 4.0 / Visual Studio 2012 / Sql server 2012