
LINQ Insight FeaturesWide LINQ supportLINQ Insight supports both usual LINQ queries and queries through extension methods. It also supports anonymous queries, for example, with immediate ToList calls.
Automatic Context ResolvingLINQ Insight resolves context automatically when executing query. It finds the context that can be passed as a parameter, can be a field or a property of the class, etc. The context must have at least a constructor without parameters or a constructor with a string parameter.
Connection String ResolvingLINQ Insight resolves the connection string automatically in most cases. If the context default constructor takes the connection string from the project config file, LINQ Insight can parse it and use the connection string from it.
You can specify custom connection string for LINQ Insight to apply for queries through the used context. Just click the Edit Connection String button on the LINQ Interactive window toolbar and enter the connection string in the opened dialog. User setting overrides the connection string, found automatically.
Custom connection string can be set if LINQ Insight finds the context constructor with the string argument. If LINQ Insight cannot find this or default constuctor, it throws an error when trying to execute a query.
For LINQ to XML, a path to an XML file can be specified as the connection string (using the Edit Connection String button on the LINQ Interactive window toolbar).
ParametersIf a query depends on some variables, you don't need to replace them with constants. LinqConnect detects these variables and their types, and replaces them with parameters. When you run this query for the first time, LINQ Insight will ask you to specify the parameter values. After that LINQ Insight will remember entered values and will not ask for them when the query is re-executed. You can re-enter new parameter values using the Edit Parameters button on the LINQ Interactive window toolbar.
If you modify a query in the LINQ Interactive window and reexecute it, this modified query will be executed, and the already specified parameter values will be used. However you should not add new variables to the query in LINQ Interactive window. If you need to add another variable to the query, do it in your code and then execute the query from your code.
SQLFor LINQ to SQL, LINQ to Entities, and LinqConnect, LINQ Insight displays the SQL generated for the query. You can also see the parameter values used if the SQL uses parameters. Parameters are displayed in comments below the SQL text, and their values are enclosed in square brackets.
DataThe returned data is displayed in a grid, where you can sort and group, and filter this data. LINQ Insight even allows you to edit data for LINQ to SQL, LINQ to Entities, and LinqConnect.
Grouping DataTo group the data by any column, drag the column header you want the data to be grouped by to the Group By Box panel.
Also you can right-click a required column header and select Group By This Column from the menu. The data is automatically displayed in groups that are marked with collapsed nodes. The column header is moved to the Group By Box panel.
Filtering DataTo filter data, enter the filter string to the Filter box on the LINQ Interactive window toolbar. After this only the rows containing the entered string in any of the column will be displayed. The string occurrences in the grid are highlighted.
Viewing Related DataLINQ Insight also offers you a convenient way to browse the related objects. You may browse related objects in two ways.
First, you may click the drop-down arrow in the cell with this property, and its contents will be presented in a new grid without hiding the original data.
Another way is to click the underlined object (or collection) property in the grid, and the grid will be filled with the contents of this property.
Editing DataLINQ Insight allows you to edit data, returned by LINQ to SQL, LINQ to Entities, and LinqConnect queries. All the data updating operations are performed through the ORM. Changes are applied to the database only after you click the Apply Changes button. You can edit several objects and then apply changes or discard them.
