ищет мнения / рекомендации / ссылки для следующего сценария, с которым я сейчас сталкиваюсь.
Платформа:
- .NET 4.0 Веб-приложение
- SQL Server 2008
Задача:
- Капитальный ремонт компонента системы, который выполняет (довольно) сложные математические операции на основе специфическая активность пользователя и обновление многочисленных таблиц в базе данных.Обычный пользователь активность может быть "Боб" решает опубликовать тему на форуме.Это приводит к тому, что (конечное решение) необходимо рассмотреть различные факторы (о должности, которую он сделал), а затем выполнить некоторые математические расчеты на основе значений / соотношений поиска, а также других данных в базе данных, добавив в результате некоторые другие данные.из этих операций.
Опции:
Хорошо - вот что я думаю.Хотя это было бы намного проще сделать в C # (LINQ-SQL), это не имеет особого смысла, так как большинство вычислений основаны на значениях в БД, и со временем будет трудно контролировать / оптимизировать / отлаживать LINQ.,Следовательно, я склоняюсь к созданию управляемой сборки (библиотеки классов C #), которая содержит значения поиска (константы), а также к использованию математических классов в существующем .NET BCL.По сути, я бы раскрыл несколько методов, которые могут быть вызваны хранимыми процедурами T-SQL.
Для меня это имеет следующие преимущества:
- Простота математики.Сложная математика в .NET против сложной математики в T-SQL.Ежу понятно.=)
- Абстракция вычислений, настраиваемых значений «поиска» и бизнес-логики из необработанного T-SQL.
- T-SQL нужно только заботиться о данных, упрощая хранимые процедуры и делая ихпроще в обслуживании.Когда ему нужно выполнить математику, он делегирует управляемую сборку.
Итак, сказав, что - я никогда не делал этого раньше (вызов .NET Assmembly из T-SQL), и после некоторого поиска в GoogleЛучший сайт, который я могу придумать, это здесь , что полезно, но устарело.
Итак - о чем я спрашиваю?Ну, во-первых, мне нужны лучшие рекомендации о том, как на самом деле это сделать.«Это» заключается в том, как вызывать сборку C # .NET 4 из хранимых процедур T-SQL в SQL Server 2008. Во-вторых, кто там это делал, с какими проблемами (если они есть) вы сталкивались?
Понимаете, что может быть трудно дать «правильный ответ», поэтому я постараюсь дать его тому, кто даст мне ответ, с помощью комбинации хороших ссылок и списка плюсов / минусов / проблем с этой реализацией.
Ура!