My background is more in C#/.Net, and have now been offered to move to Intersystems Cache. I haven't found any recent posts on this so unless I missed something here goes: From what I understand Cache has some mapping for ADO.NET/.NET, but is there something out there so I can use Cache for the DAL and C# for the BL/front end (like ASP.NET MVC)? Is there a port somewhat similar to Xamarin, that allows one to write everything in C#, using Visual Studio? I haven't started with Cache yet, but from a brief glimpse it looks somewhat similar to C# being string based and slightly similar approach to interfaces and implementation. Thanks
-
_[Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.](http://stackoverflow.com/help/on-topic)_ – Aug 05 '15 at 05:43
-
1@CAR1980 - Just some advice on that....It's not similar to C# at all. Its not even fully object oriented. Its dev tools are at least a decade behind. Debugging it is a nightmare. Its documentation is levels below MSDN. It's not useful for your career. It's only interesting from a wtf perspective. Feel free to check out some of my blog posts in my profile. Hope it might help you. Good luck. – O.O Sep 18 '15 at 17:52
2 Answers
Simply put: no.
However, you can use the provided DLL (InterSystems.Data.CacheClient.dll) and the reference (InterSystems.Data.CacheClient) to establish an ado connection to cache. From there you can use SQL to get your data or call a stored procedure from cache. (I'm still researching myself.)
Here's a little tutorial for a c# front-end. (a bit old though, like cache) http://www.windowsdevcenter.com/pub/a/windows/2006/03/28/oop-c-meets-cache.html?page=1
And some documentation: (this really helped me out) http://docs.intersystems.com/documentation/cache/20131/pdfs/GBMP.pdf
Good luck and happy coding!

- 172
- 1
- 1
- 12
-
Thanks, interesting links. I've tried the front end tut, but I'm having a problem getting the tool to generate a proxy method for a Query (FindAllRoutes in this example). I haven't found any troubleshooting on this, so any suggestions? – CAR1980 Aug 19 '15 at 11:47
-
I've never used proxy classes in cache but there are a couple of different methods you can try: http://docs.intersystems.com/ens20141/csp/docbook/DocBook.UI.Page.cls?KEY=GBMP_proxy#GBMP_proxy_generating – SilentStorm Aug 20 '15 at 12:54
-
I figured out that I was missing a tag [ SqlProc ] which I uses for binding. the problem I have now though is I can't use the terminal (it asks for log in user/pw and _system/SYS doesn't work, nor empty), and when I try to establish a cache connection, I get cache security error (which I assume means the connectionstring login is wrong) – CAR1980 Aug 25 '15 at 05:42
-
Check your management portal and go to users, click on profile of _SYSTEM, the last remark should tell you why it failed (had the same issue because I was on a development system with only 1 license). If it says Error #5915 just log out and close studio, mangement portal, etc and try again (I also disabled my firewalls but this didn't change anything the first time). btw, Sorry for the late repsonse. – SilentStorm Sep 01 '15 at 07:50
Yea, this is a late response, but here's something that may help, if you're still interested.
I remember back in 2009, Intersystems came out with a .Net Gateway where the Cache developer would create a DLL for you to use to call the different routines and globals. I think that has since been kaput. So I gave up and went with a linked server (static table created by a routine's nightly build) in MS SQL.
Recent searching led me to a link to a framework which I am currently looking into. I haven't tested it yet, but it is a "LinQ API to work with Caché Globals from .NET Entity Framwork"
You may also want to take a look at Caché eXTreme and the samples provided. I'm hoping to implement one of the two (or both) in order to complete a project I'm working on.

- 738
- 5
- 13