C#/EF для межсистемного кэша

Мой опыт больше связан с C#/.Net, и теперь мне предложили перейти на Intersystems Cache. Я не нашел никаких недавних сообщений об этом, поэтому, если я что-то не пропустил, вот оно: Насколько я понимаю, у Cache есть некоторое сопоставление для ADO.NET/.NET, но есть ли что-то там, чтобы я мог использовать Cache для DAL и С# для BL/интерфейса (например, ASP.NET MVC)? Есть ли порт, похожий на Xamarin, который позволяет писать все на C#, используя Visual Studio? Я еще не начал с Cache, но с первого взгляда он выглядит несколько похожим на C#, основанный на строках, и немного похожий подход к интерфейсам и реализации. Спасибо


person CAR1980    schedule 05.08.2015    source источник
comment
@ CAR1980 - Просто несколько советов по этому поводу ... Это совсем не похоже на C #. Он даже не полностью объектно-ориентирован. Его инструменты разработки отстают как минимум на десятилетие. Отладка это кошмар. Его документация находится на уровне ниже MSDN. Это не полезно для вашей карьеры. Это интересно только с точки зрения wtf. Не стесняйтесь проверить некоторые из моих сообщений в блоге в моем профиле. Надеюсь, это поможет вам. Удачи.   -  person O.O    schedule 18.09.2015


Ответы (2)


Проще говоря: нет.

Однако вы можете использовать предоставленную библиотеку DLL (InterSystems.Data.CacheClient.dll) и ссылку (InterSystems.Data.CacheClient) для установки соединения ado с кешем. Оттуда вы можете использовать SQL для получения данных или вызвать хранимую процедуру из кеша. (Я все еще изучаю себя.)

Вот небольшое руководство по интерфейсу C#. (хотя немного устарел, как кеш) http://www.windowsdevcenter.com/pub/a/windows/2006/03/28/oop-c-meets-cache.html?page=1

И немного документации: (это мне очень помогло) http://docs.intersystems.com/documentation/cache/20131/pdfs/GBMP.pdf

Удачи и счастливого кодирования!

person SilentStorm    schedule 12.08.2015
comment
Спасибо, интересные ссылки. Я попробовал внешний интерфейс, но у меня возникла проблема с получением инструмента для создания прокси-метода для запроса (FindAllRoutes в этом примере). Я не нашел никаких способов устранения неполадок по этому поводу, так что какие-либо предложения? - person CAR1980; 19.08.2015
comment
Я никогда не использовал прокси-классы в кеше, но вы можете попробовать несколько разных методов: docs.intersystems.com/ens20141/csp/docbook/ - person SilentStorm; 20.08.2015
comment
Я понял, что мне не хватает тега [ SqlProc ], который я использую для привязки. проблема, с которой я столкнулся сейчас, заключается в том, что я не могу использовать терминал (он запрашивает вход в систему user/pw, а _system/SYS не работает и не пуст), и когда я пытаюсь установить соединение с кешем, я получаю безопасность кеша ошибка (что, как я предполагаю, означает, что вход в строку подключения неверен) - person CAR1980; 25.08.2015
comment
Проверьте свой портал управления и перейдите к пользователям, щелкните профиль _SYSTEM, последнее замечание должно сказать вам, почему это не удалось (была та же проблема, потому что я работал в системе разработки только с 1 лицензией). Если он говорит об ошибке # 5915, просто выйдите из системы и закройте студию, портал управления и т. Д. И попробуйте еще раз (я также отключил свои брандмауэры, но это ничего не изменило в первый раз). Кстати, извините за поздний ответ. - person SilentStorm; 01.09.2015

Да, это поздний ответ, но вот что может помочь, если вам все еще интересно.

Я помню, как еще в 2009 году Intersystems выпустила .Net Gateway, где разработчик Cache создавал DLL, которую вы использовали для вызова различных подпрограмм и глобальных переменных. Я думаю, что с тех пор это было kaput. Поэтому я сдался и пошел со связанным сервером (статическая таблица, созданная ночной сборкой рутины) в MS SQL.

Недавний поиск привел меня к ссылке на фреймворк, который я сейчас изучаю. Я еще не тестировал его, но это «LinQ API для работы с Caché Globals из .NET Entity Framwork».

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

person Ian    schedule 13.04.2016