Best Of
Azure OpenAI's API unable to use at all for a while.
I'm sure my Azure OpenAI Service is able to use, but I just can't use in LINQPad.
Host runtime version: 8.0.15 Default query runtime version: 9.0.4 Default query reference assembly version: 9.0.4 Roslyn Version: 4.13.0-3.25120.11 FSharp.Compiler.Service version: 43.8.101.0 NuGet client version: 6.7.1.1 Windows DevDrive Status: Unavailable Results rendering engine: Edge Chromium Engine 135.0.3179.73 (WebView2)

Enterprise Licence: Can i deploy LinqPad to customer server?
Hi,
we are interessted in purchasing LinqPad. Would it be possible to deploy LinqPad to a customer server if we purchase the enterprise edition?

Re: Enterprise Licence: Can i deploy LinqPad to customer server?
A server would in general use the command-line version of LINQPad (lprun) or other automated scenarios which don't require licensed features. The Premium edition adds only UI features such as autocompletion.

Re: Copy DB-name from the tree
Good point - there should be context menus items for "Copy database name" and "Copy connection string". I'll add this to the next build.

Re: Numerical sorting in grid when using ToDump() with Util.ToExpando.
Regarding question 1, I had a look at the internals of LinqPad to see what is going on and I think this could be fixed with a slight performance hit.
At the moment, Linqpad builds a DataTable from the list of ExpandObjects without checking the type of each column and hence each DataColumn is a string.
https://share.linqpad.net/s5d5mn9v.linq is a benchmark script with an amended copy of this routine that sets the column type iff every non-null value for that column has the same type.
The benchmark runs against 10000 records (using the demo database supplied with Linqpad but any database could be used).
The results are as follows.
I think this performance hit is worth the benefit for the following reasons.
- It is only a 2% slowdown.
- It is only a couple of milliseconds when processing 10,000 records
- I would not be using ExpandObjects if I was that worried about performance.
It is relying on the fact that at the point where this code is used by LinqPad the source has been converted to a list, so even if the original source was IQueryable we are not going to be hitting the database several times. Hence my benchmark is using a list.
It is also relying on the fact that DataTable handles nulls, hence we do not need to worry about whether the columnType should be nullable or not.
Are there any downsides that I have not considered?
What do you think?

Re: Roadmap for cross platform (ubuntu/linux)?
Hi @JoeAlbahari
Is there any update on the Linux version? linqpad is the only reason I am stuck with windows on my work machine 🥲😔

Roadmap for cross platform (ubuntu/linux)?
The one tool that they are all missing with this stack is linqpad.
I am curious on what the current status for a x-plat linqpad is?
I guess you are still evaluating options for the ui-layer?
Can you provide a rough estimate when we might see an x-plat linqpad? (months, years, decades :-D)
Thanks for a quick feedback.

Re: LINQPad AI Assistant Preview - feedback needed
Claude has a different API that's incompatible with that of OpenAI.
I'll consider adding support for it, but in the meantime, have you considered using OpenRouter? The latest version of LINQPad supports OpenRouter - go to Help | What's New for instructions. OpenRouter supports all popular models, including Claude Sonnet.

Any plans to use AI just like "Inline Chat" in Github Copilot?
I usually write comments in LINQPad first, then trigger AI completion to get code suggestions. However, if I want to modify a part of the code, there isn't a very convenient way to do it. I wonder if you can provide a usage similar to Github Copilot's "Inline Chat"?
Here is a use case:
- When writing code, select a range with the mouse or keyboard.
- Press Ctrl+I to bring up the Inline Chat window, then enter a prompt.
- After pressing Enter to submit, it will automatically modify the code in the selected range for me.

Re: Net 9 custom driver publish on nuget
That would happen if your Default Framework Version (under Edit/Preferences/Query) was 8 or earlier.
