Использование MSSQLDataService при обновлении объектов с пустыми строками

MSSQLDataService преобразует пустые строки в NULL при обновлении объектов.

При построении ограничения, если параметром в проверке на равенство передаётся String.Empty, то запрос будет сгенерирован как IS NULL и всё сработает так как надо. Это упрощение избавляет от необходимости писать сложные Where-выражения.

Если есть потребность различать NULL и String.Empty, то можно унаследоваться от MSSQLDataService и переопределить метод

public virtual string ConvertSimpleValueToQueryValueString(object value)

таким образом, чтобы не выполнялась замена

if (valType == typeof(string))
{
	if ((string)value == string.Empty)
		return "NULL";
	else
		return "'" + value.ToString().Replace("'", "''") + "'";
}

Особое внимание следует обратить на эту особенность, если используются импортированные данные или SQL-выражения, которые выполняются в обход сервиса данных.