Я предполагаю единственную вещь, которая действительно выступает против них, чрезмерная абстракция. Если у Вас будет хорошая идея, что псевдоним отсылает к (хорошее именование помогает; 'b', 'c' может быть довольно проблематичным особенно при чтении месяцев оператора или несколько лет спустя) я ничего не вижу неправильно с искажением.
, Поскольку другие сказали, соединения требуют их, если Вы используете ту же таблицу (или представление) многократно, но даже вне той ситуации, псевдоним может служить для разъяснения цели источника данных в конкретном контексте. На имя псевдонима попытайтесь ответить , почему Вы получаете доступ к конкретным данным, не , каковы данные.
NLTK - это чистый питон, поэтому его можно легко запустить на IronPython. Поиск обнаружил этот билет - все, что нужно сделать, это установить пару дополнительных библиотек Python, которые не поставляются по умолчанию с IronPython.
Это, вероятно, самый простой способ интеграции. В противном случае вам придется либо запускать Python как подпроцесс, что звучит сложно, либо запускать Python как сервер, который отвечает на ваши запросы. Это, вероятно, наиболее масштабируемый, хотя и сложный подход. Если вы пойдете этим путем, подумайте о Twisted, чтобы упростить код сервера.
Но сначала попробуйте IronPython ...
Я не знаю, почему у вас проблемы с IronPython. вы по-прежнему можете использовать любые вызовы nltk.
Чтобы ответить на ваш вопрос о переносе класса Python на C #: попробуйте скомпилировать ваш код Python в EXE . Это создает DLL со всеми вашими классами Python. Это то, что существует уже некоторое время, и в прошлом оно работало для меня как чары
Просто идея
Как насчет того, чтобы запустить Python в качестве сервера и подключить его из .NET с помощью сокета?
Поскольку загрузка NLTK требует времени и в любом случае лучше загружать его заранее.