EFDataSource.BeforeLoadCustomAssemblyGlobal Event
Occurs on an attempt to load a custom assembly by EFDataSource (e.g., when an application loads a report template containing an Entity Framework data source originated from a compiled assembly).
Namespace: DevExpress.DataAccess.EntityFramework
Assembly: DevExpress.DataAccess.v24.1.dll
NuGet Packages: DevExpress.DataAccess, DevExpress.Win.PivotGrid, DevExpress.Win.TreeMap
Declaration
Event Data
The BeforeLoadCustomAssemblyGlobal event's data class is BeforeLoadCustomAssemblyEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
AllowLoading | Specifies whether loading a custom assembly is allowed. |
AssemblyPath | Specifies the path to a requested assembly. |
ContextName | Specifies the type to load from a custom assembly. |
Remarks
Loading of custom assemblies that may be referenced by Entity Framework data sources is forbidden by default.
To permit loading a specific assembly, handle the EFDataSource.BeforeLoadCustomAssembly event (or static BeforeLoadCustomAssemblyGlobal event) and specify the following properties of the BeforeLoadCustomAssemblyEventArgs object.
BeforeLoadCustomAssemblyEventArgs.AllowLoading
Specifies whether loading a custom assembly is allowed.
BeforeLoadCustomAssemblyEventArgs.AssemblyPath
Specifies the path to a requested assembly.
BeforeLoadCustomAssemblyEventArgs.ContextName
Specifies the type to load from a custom assembly.
An unauthorized attempt to load a custom assembly will result in throwing a CustomAssemblyLoadingProhibitedException.
In the Data Source wizard, the corresponding option is disabled so that end-users are only allowed to select a data context from assemblies referenced by the project.
To make the Browse button visible, set the EFWizardSettings.ShowBrowseButton property to true.
Related GitHub Examples
The following code snippet (auto-collected from DevExpress Examples) contains a reference to the BeforeLoadCustomAssemblyGlobal event.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.