LINQPad 4 for testing BPM queries?

Has anyone successfully used LINQPad 4 to test BPM LINQ queries?
It would be fantastic if someone has and can share.

1 Like

I followed the instructions here. Not sure if exactly what you are looking for but close.

4 Likes

Thanks!! This will at least help me to see if it’s worth looking into!

The post from @danbedwards is information I put together based on goodies from @Edge - Attached are the .linq files - open them in LINQPad and change the References by clicking F4 and you should be good to go.

It will read your connection information from your web.config

StephensExample.linq (5.9 KB)

ERP1015200.linq (4.2 KB)

HasoMoreComplex_Shipping.linq (6.3 KB)

2 Likes

This is fantastic, thank you for sharing! I can’t wait to peruse.

Ignoramus question here, but are we running linqpad on the appserver or on a client pc?

On the Client. If you download one of those .linq files. Just tweak your dependencies (Locations of DLLs) (i think you press F5 or F4 or find it via the Menu) and modify the path to the web.config right in the linq code and you should be good to go, you dont even need to configure a connection.

What @Edge has created is a way to read the connection information from your web.config.

Now your web.config connection strings should not point to “localhost” but rather to he server name ex “ERP-SQL1” and it should all work.

Let me show you via screenshots:

F4:

web.config location

ErpContext in web.config or even IceContext dont use local

Once again, on LINQPad itself you do not need to configure any Connections… You can grab a fresh copy of LINQPad and use it with this right away.

1 Like

Thanks,
I was doing it through a VPN on my client, and I think that was part of my orginal issue.

One thing I did notice is that when you do a cleanup in the Additional Namespace Imports it asks to remove the Ice.Security.Token and System.ServiceModel namespaces.

I get the same for the Security Token but not the ServiceModel… grab the Haso_Shipping one instead or make sure your Dependencies are not Red I know in E10.1 they moved some of the dlls to he Bin Folder. Look at my last screenshot above, yours should look like this:

2 Likes

Just rechecked and I a now down to the security one. I have it working on my client also…Embarrassingly, I have the language set to c# Expression.

I appreciate your help, I’m a bit green at this. :relieved I’m happy It’s all working now. I can move on with it.

Is there any difference with using LINQpad 5?

I have not used LINQPad 5 yet. I only have the LINQPad 4 Paid. There should be no difference.

Just tested 5. It works, slightly faster, but that could just be because of sql caching.

Now you wont be able to write full blown BPMs. Perhaps if you use BO’s. But LINQPad is a great prototyping tool and debugging your Query. You wont have access to the temp tables. But for the most part it oughta do.

Also check out https://www.oz-code.com/ a VS Extension.

1 Like

Adding this Screenshot to Convo #BOReader Example

1 Like

I have downloaded LINQPad 5, want to try some of the Linq file, but I got the following error:

Schema specified is not valid. Errors:
(0,0) : error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name ‘EpiProvider’. Make sure the provider is registered in the ‘entityFramework’ section of the application config file. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information.

I am using the StephensExample.linq … I have fixed up all the references, I have tried adding in Entity Framework from Server\Assemblies also, tried adding in EntityFrameworksqlserver.dll

It is still giving me error on this line:

var Db = new ErpContext();

any ideas?

Here’s a copy of my boilerplate that I think started life as one of the examples. It works on our system, we are on 10.1.600

Epicor Linq BoilerPlate.linq (4.1 KB)

Hope that helps.

Hi Simon,

Thanks for the file. My version of Epicor is 10.2.200.4

So I loaded your file in LINQPad 4, fix up all the references using F4. Then Press F5 to run it. Same error.

I am thinking this maybe due to the config file problem. Or is there any special settings I need to do before running LINQPAD?

No I don’t recall. I just updated the references for memory. It was a while ago now. If I get a moment over the weekend I’ll take a closer look. Doing a Pilot import this weekend :frowning: so don’t hold your breath.

By the way I confirmed that file was working on Linqpad5. I just tested on 4 and it works.

You did change the path of the webconfigfile variable?

Thank you so much for your help.

Yes, changed the webconfigfile variable to the correct path. Still got the same error.

I ended up creating my connection and using LINQPAD as a scratchpad to do my query. So I got the query done which is good. LINQPAD is very useful, I paid for the full version for all the additional features too.