2015-06-02 4 views
4

Я преобразовываю существующую хранимую процедуру T-SQL в CLR C# .NET. Это было пробурено во мне, что hardcoding SQL-заявления в исходном коде .NET-приложения являются злыми. Является ли хранимая процедура CLR исключением из этого правила? Какие у меня другие альтернативы? Я не могу очень хорошо называть T-SQL хранимой процедуры вместо того, чтобы ...SQL Server CLR жестко закодированные инструкции SQL

+1

Вы, безусловно, ** можете ** вызывать хранимые процедуры T-SQL из процедуры CLR. – stuartd

+0

Хотя этот вопрос может быть истолкован как основанный на мнениях, я думаю, что он должен оставаться открытым, потому что мне очень хотелось бы видеть, как люди отвечают это. –

+0

Hardcoding Sql в C# не является неизбежным злом, но это может привести к злоупотреблениям и инъекциям с неопытными разработчиками. –

ответ

3

Я не могу очень хорошо называть T-SQL хранимой процедуры вместо того, чтобы ...

Я "не м убедитесь в том, какую логику нужно держать внутри вашего компонента CLR, однако вы можете, конечно, вызвать хранимые процедуры из компонента CLR для получения данных, которые хотите обработать. Вы также можете вызвать хранимые процедуры для обновления данных после их обработки.

Это было пробурено во мне, что hardcoding SQL-инструкции в .NET Исходный код приложения - это зло. Является ли хранимая процедура CLR исключением из этого правила?

Существует множество причин не помещать жестко закодированные инструкции SQL в скомпилированный код и вместо этого использовать хранимые процедуры. Мы могли бы легко перечислить и обсудить аргументы позади этого, но я предлагаю, чтобы, если у вас есть это правило, тогда да, это относится и к CLR. Если по какой-либо другой причине, чем быть последовательной.

+3

Согласовано. Просто отметив, что многие базы данных имеют правило, что все данные должны использовать хранимые процедуры (например, по соображениям безопасности), поэтому невозможно использовать жесткий код SQL. Однако, когда вы уже используете хранимую процедуру уже (то есть процедуру CLR), тогда линии становятся размытыми. – stuartd

Смежные вопросы