The following LLBLGen Pro Designer constructs are supported for Entity Framework Core v1. Using an element not on this list will result in a validation error of the project.
- Entity mappings to tables
- Single catalog per project
- Multi-schema per project
- Entity inheritance: target per Entity Hierarchy inheritance
- 1:1, 1:n, m:1 relationships. Many to many relationships aren't supported by EF core.
- Typed Lists
- Derived models
- Model views
- All .NET types for PKs
- Enums (using .typeimports files, see the Designer documentation for details on this).
- .NET 4.5.1 or higher.
- Relationship cascade rules
- Action combinations on mappings. See below.
The following databases are supported. Although there's an EF Core provider for MySQL from DevArt, it's not supporting .NET core.
- SQL Server 2000 and higher
- PostgreSql (using Npgsql)
Read-only entities, through the action combinations in the mappings pane of an entity editor, are supported through custom annotations. The supported action combinations are 'Create, Retrieve, Update, Delete' and 'Retrieve'. This is implemented using this code: https://romiller.com/2017/02/14/ef-core-1-1-read-only-entities-extending-metadata-with-annotations/
You can specify an entity as 'readonly' by changing in the entity editor's Mappings tab the allowed action combinations to 'Retrieve' instead of the default 'Create/ Retrieve / Update / Delete'. If an entity is set as 'readonly' the modelbuilder will call the
IsReadOnly extension method on the
EntityTypeBuilder object for the entity. When such an entity is then persisted through
SaveChanges(), it's checked whether the entity type has the readonly annotation set. If so, the
SaveChanges() action is aborted with an exception. The exception is needed because it's not possible to filter out actions on the context, so a silent skip isn't possible.