我使用以下模式来清理数据库名称:
var dbProviderFactory = DbProviderFactories.GetFactory(connection);
using (var commandBuilder = dbProviderFactory.CreateCommandBuilder())
{
var fooSafe = commandBuilder.QuoteIdentifier(foo)
}
但每次我这样做时,R#抱怨commandBuilder
并说
可能的System.NullReference异常。
为了摆脱这个警告我通常会把
Debug.Assert(commandBuilder != null);
创建命令构建器后。
我主要使用SqlConnection
或SQLiteConnection
。
documentation中没有太多关于它的内容:
返回实现DbCommandBuilder类的提供程序类的新实例。
我不确定是否应该检查命令构建器是否为null或只是忽略警告?
答案 0 :(得分:1)
因为文档说它将返回一个“新实例”,我不会担心空检查。
Resharper可能会抱怨,因为它是一个虚方法,任何自定义实现都可能返回null。