Какие соображения относятся к интеграции SQL / CLR, когда база данных работает и изменения происходят часто? - PullRequest
0 голосов
/ 16 декабря 2010

I только что впервые сделал функцию CLR и развернул ее в базе данных, и, прочитав немного о том, как она работает, подумайте, что это хороший вариант для программиста C #, такого как я.

Мой вопрос: если я нажму «control F5» и позволю VS выполнить магическое развертывание моих пользовательских функций и т. Д. В моей базе данных - что, если в этой базе данных есть текущие соединения, использующие предыдущую версию?

Я надеюсь, что это было бы без проблем.

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

РЕДАКТИРОВАТЬ: Я решил использовать то, что я собираюсь использовать, в первую очередь, основываясь на отзывах, которые я последний раз писал с этим тегом.

Я не хочу поддерживать логику на двух языках, поэтому я собираюсь преобразовать следующее в C #:

CREATE FUNCTION [dbo].[tousd] 
(@Currency char(3), @Amount money)
RETURNS money
AS
BEGIN
declare @Return money
if(@Currency = 'USD')
    return @Amount * 1.0
else if(@Currency = 'EUR')
    return (@Amount * 1.3065)
else if(@Currency = 'GBP')
    return (@Amount * 1.5552)
else if(@Currency = 'CAD')
    return (@Amount * 0.9789)
else if(@Currency = 'AUD')
    return (@Amount * 0.9613)
else
    return 0.0
return @Return
end

Заранее спасибо, Аарон

1 Ответ

3 голосов
/ 16 декабря 2010

Не конвертируйте tsql в C # только потому, что вам удобнее с ним. Базы данных оптимизированы для лучшей работы с SQL, а не с C #. CLR доступны только для того, что SQL не может сделать. Если вы можете сделать это в SQl, сделайте это в SQL.

Не выполняйте больше работы, пока у вас не появится настоящая среда разработки. Бродить вокруг с вещами, которые люди фактически используют, непрофессионально и опасно для данных, и они могут быстро потерять ваших клиентов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...