LinqPad Custom Visualizer
I have created a Custom Visualizer based on my
DataEditor, it can only be used with the
LINQPad Beta: v4.36.x and later.
Installation
Download
AW.LinqPadExtensions.zip and then unzip to the LinqPad plugins folder.
Usage
Call one of these extension methods:
public static IEnumerable DisplayInGrid(this IEnumerable enumerable)
public static IEnumerable DisplayInGrid(this IQueryable enumerable, ushort pageSize)
public static IEnumerable DisplayInGrid(this IEnumerable enumerable, IDataEditorPersister dataEditorPersister)
public static IEnumerable DisplayInGrid(this IEnumerable enumerable, IDataEditorPersister dataEditorPersister, ushort pageSize)
public static IEnumerable<T> DisplayInGrid<T>(this IEnumerable<T> enumerable)
public static IEnumerable<T> DisplayInGrid<T>(this IEnumerable<T> enumerable, IDataEditorPersister dataEditorPersister)
public static IEnumerable<T> DisplayInGrid<T>(this IEnumerable<T> enumerable, IDataEditorPersister dataEditorPersister, ushort pageSize)
// LINQToSQL
public static IEnumerable<T> DisplayInGrid<T>(this Table<T> table)
public static IEnumerable<T> DisplayInGrid<T>(this Table<T> table, ushort pageSize)
public static IEnumerable<T> DisplayInGrid<T>(this IQueryable<T> dataQuery, DataContext dataContext)
public static IEnumerable<T> DisplayInGrid<T>(this IQueryable<T> dataQuery, DataContext dataContext, ushort pageSize)
// LLBL (Included in the unreleased v2.1 driver not in AW.LinqPadExtensions.zip)
public static IEnumerable<T> ShowSelfServicingInGrid<T>(this IEnumerable<T> enumerable, ushort pageSize) where T : EntityBase
public static IEnumerable<T> ShowSelfServicingInGrid<T>(this IEnumerable<T> enumerable) where T : EntityBase
public static IEnumerable DisplaySelfServicingInGrid(this IEnumerable enumerable, ushort pageSize)
public static IEnumerable DisplayInGrid(this IEnumerable enumerable, IDataAccessAdapter dataAccessAdapter, ushort pageSize)
public static IEnumerable<T> DisplayInGrid<T>(this IEnumerable<T> enumerable, IDataAccessAdapter dataAccessAdapter, ushort pageSize) where T : EntityBase2
public static IEnumerable<T> DisplayAdapterInGrid<T>(this IQueryable<T> query, ushort pageSize) where T : EntityBase2
public static IEnumerable<T> DisplayAdapterInGrid<T>(this IQueryable<T> query) where T : EntityBase2
The DisplayInGrid
Custom Visualizer is paged and defaults to a page size of 10, note that, as with the
DataEditor, clicking a column sorts the current page not the whole enumeration as is normal in paged grids.
DisplayInGrid returns an empty enumeration rather than void simply so it can be used with a
LinqPad expression language where the output gets piped to the dump command.
Saving changes
As with the
DataEditor, to save the changes to the DB a DataEditorPersister must be supplied, except for LINQToSQL and LLBL queries, for which there are specific extension methods which
use built-in LINQToSQL and LLBL DataEditorPersisters.
If no DataEditorPersister is provided the DataEditor will be in readonly mode.
Example
NutShell DB (included with linqPad samples)
AW.LinqPadExtensions.CustomVisualizers.DisplayInGrid(Customers)