Skip to content

LINQPad Feature Suggestions

More than 100 LINQPad features are a direct result of customer feedback! This is the official forum for posting and voting on ideas – we want to hear from you!

LINQPad Feature Suggestions

Categories

1182 results found

  1. Add "My Extensions" to search results of the Navigate to Query dialog

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  2. It is time to move to the next level: cross-server or cross-domain queries, for a truly great orchestration experience.

    I have experimented with this and it's working nicely:

    dynamic odata = Activator.CreateInstance(Type.GetType("LINQPad.User.DemoService, odata", true), new Uri("https://services.odata.org/V3/OData/OData.svc/"));
    ((object)odata.Persons).Dump();
    dynamic a = Activator.CreateInstance(Type.GetType("LINQPad.User.TypedDataContext, a", true));
    ((object)a.Persons).Dump();
    dynamic db = Activator.CreateInstance(Type.GetType("LINQPad.User.TypedDataContext, db", true));
    ((object)db.Products).Dump();

    I'm specifically referring to this line in the FAQ (https://www.linqpad.net/FAQ.aspx):
    "The databases that you query must reside on the same server."

    That's a major limitation.

    Possible solutions:
    1. Unique data context class names in the LINQPad.User namespace.
    2. extern alias functionality?
    3. Uniquely nest all classes…

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  3. Dump if predicate is true

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  4. Currently we resort to reflection on the LinqPad internal classes to extract some very useful properties. One of these features is IsAutomated property of the internal static Program class, which is similar to #if CMD but is more practical because you can pass it around. Besides it's impossible to determine if a script it running under lprun inside MyExtensions using the said #if CMD directive. Because it is a compilation directive.

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  5. 1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  6. The hang occurs when there is an unclosed external resource. The linqpad doesn't get stuck because it doesn't unload the application domain and therefore does not wait for the process to exit completely.

    There should be some sort of a timeout for the registration of the query exited event and the finilizers to finish their job. If they don't finish in a timely manner you need to kill the process forcefully.

    We were using https://github.com/sshnet/SSH.NET and didn't call .Exit() everywhere.

    This produces the hang of sorts:

    <Query Kind="Statements">
    <Reference Relative="..\..\SSH\Renci.SshNet.dll">C:\Users\User\Desktop\SSH\Renci.SshNet.dll</Reference>
    <Namespace>Renci.SshNet</Namespace>
    </Query>

    var sshClient = new SshClient("demo.wftpserver.com", 2222, "admin", "root");…

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  7. Drag-n-drop a CSV file to the LINQPad window to silently create an IQueryable object populated with its values and insert a code reference at the cursor point where the drop operation completes.

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  8. Add a helper to the editor so that when /// is typed on the line before a property or method, the summary and param blocks are added similar to how it works in Visual Studio per this article:

    https://docs.microsoft.com/en-us/visualstudio/ide/reference/generate-xml-documentation-comments?view=vs-2017

    OR

    Enable intellisense for /// < to template the common options:

    /// <summary
    /// <param
    /// <returns
    /// <see

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  9. Give a checkbox option to disable encryption of connection string and database password. Or some ways to dynamically change like password from system variables. Because the portable version connections doesn't work by copying x-copying everything to other system in automation.

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  10. I don't know if this is an issue with other connection types in the IQ driver, but using MariaDB, if I have a table with a column name like "Character", the generated SQL does not escape this column name, leading to a syntax error.

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  11. When creating a similar connection there is no option to change the name along with the other connection parameters. The new connection is created with the same name.

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  12. When outputting a long string, LinqPad outputs line breaks not in the string after each block of 100,000 characters.

    This impacts string.Dump() (with no description), Console.Write(string), and Console.WriteLine(string).

    This is not just a visual issue with the output window. If you copy and paste from the output window into a text editor, the line breaks are present in the data.

    string.Dump("any text") does not exhibit the problem.

    Console.Write and Console.WriteLine when used in a C# console application (Visual Studio compiled) do not exhibit this behavior.

    LinqPad C# Program demonstrating the behavior:

    void Main()

    {
    "".Dump("Console.Write() has breaks at 100K chars…

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  13. If a Dump(caption) method was called on an object, and later that object was hidden, the green Dump envelope with the caption stays visible.
    Also, DumpContainer cannot be easily hidden, I had to use Style="display:none".

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  14. I'm writing some sample code for a class using AdventureWorks 2012. I created POCO's for the Person.BusinessEntity and Person.Person tables setup for TPT inheritance. The Person entity has a nav prop for phone numbers to the PersonPhone entity. When I run this in a C# program, it works perfectly. I've verified with DbContext.Entry(...).Collection(...).IsLoaded that the nav prop is not being eager loaded. When I access it in a LINQPad query (eg from person in Persons) it crashes with a MARS error. I have sample code.

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  15. Assume that a user has a PDF of your book or Skeet's book. Think of using the Nutshell and In Depth (Skeet) books as help files by linking context help (F1) in LINQPad to topics in the PDF books. If manipulating the PDF is too difficult you could load the clipboard with the appropriate page number for the topic; the user could paste the page number in the upper left box of acrobat or PDF reader is used. I like LINQPad and I have the super-duper-expensive version but I use LINQPad as a C# and NET learning tool for my…

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  16. I would like to be able to debug inspect each step of linq queries.

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  17. Is it possible to use linqpad 5 with odata driver using metadata stored on a local file ?

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  18. The tool tips for the function signatures, such as Select, Join, GroupBy, take up screen space and obscures typing. Unlike other editors, the tool tips do not move properly when the cursor moves to new locations in the editor. These tool tips are obtrusive and require hitting escape key constantly so I can see what I am typing. Should be able to disable in Preferences.

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  19. When collection contains more items than the limit in the rich text mode the header says "First n rows". If the object implements ICollection or IReadOnlyCollection it would be nice to show "First n rows of {dumpedObject.Count}"

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  20. I am trying to creat connection but i am unable to connect.
    Let us know what exactly the parameter here for http://{MachineFQDNORMachineIP}/ Citrix/Monitor/OData/v1/Data
    MachineFQDNORMachineIP}/ --- Database server on which monitoring database is residing or Desktop director server name.
    Citrix---?????
    Monitor ---- is the instanse name

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  • Don't see your idea?