đ Welcome to
MDriven Learn
â
MDriven is now on Discord
! Donât miss the
latest Release Notes
.
X
Documentation
Training
Q & A
Model Examples
Best Practices
Copyright 2023 © M
Documentation
Training
Q & A
Model Examples
Best Practices
Release Notes
Glossary
Documentation
Discussion
View source
View history
QR code
E-Mail
Designer
MDriven Designer
Modeling Basics
What is MDriven Designer
What is MDriven Designer
Modeling
Classes: definition and instances
Attributes and data types
Associations
Association
Embed
Unique constraints on 1 to 1 links
Roles, multiplicity, and navigability
Enumerations and value lists
Enumerations
Enumerations in Modlr
Identity and keys (natural vs surrogate)
Doing your own Primary keys
Custom OR Mapping
Guid
Business delete rules
Business Delete Rules
CleanForFree
OCLOperators OnDelete
Packages and module organization
Calendar package
Component
Namespace in generated code
Package
Referenced package
Segmenting definition and logic
Core Modeling Concepts
Aggregation vs composition
Composite and Aggregate and what they imply
OCLOperators OnDelete
Inheritance and polymorphism
Calling base class
Polymorphism
Association classes and link objects
Adding a link object
Association classes
Part 8 Link Objects association classes
Qualified associations
QualifiedAssociations
Embedding behaviors and containment choices
Embed
Attribute with class type (why disallowed)
Attribute with class type
Derivation
Derived attributes (calculated fields)
Derivation is not available in the database
Derived attributes & associations
Attribute or Data Type Conversion
Part 3 OCL: Derivation properties
Part 5 Searching in databases
Derived associations
Derived attributes & associations
Let and Derived associations
OCLOperators sqlpassthroughobjects
Derivation is not available in the database
Settable derived attributes and associations
Derived settable associations
Derived settable attributes
Reverse Derivation
Derivation expressions editor and patterns
Derivation expressions
VerbalizePatterns
Performance tips for derivations
Default String Representation and asString
Constraints and Validation (OCL)
OCL basics and expression syntax
Constraints
Part 3 OCL: Derivation properties
Case sensitive or not
ChatDesignerPrompt
Let and Derived associations
Mockotype
Modlr plugin
OCLOperators constraints
OCL Editor, system prototyper and ViewModel
Part 5 Searching in databases
Searching
Class invariants and required fields
Constraints
Data validation
OCLOperators brokenConstraints
Pre and postconditions
Constraints
OCLEditorHelp OclPreconditionQuery
Cross object validation rules
GuardConstraints and reuse of rules
GuardConstraints
Opt out a constraint in all relevant viewmodel
Common validation patterns and pitfalls
OCLOperators brokenConstraints
State Machines and Workflows
States, events, transitions
OCLOperators oclIsInState
OCLOperators stateMachineTrigger
OnStateChange
State value as a string
Statemachines forcing your hand even if you are admin
UML â State machines
OCLOperators OnStateChange
Guards, entry and exit actions
OCLOperators OnStateChange
Timers and signals
Substates and composite states
Long running workflows and escalations
ViewModels and UI Modeling
ViewModel fundamentals
AccessExpression
Act as For Actions
Actions And Viewmodels, MDriven Designer
Analyze ViewModel classes and expressions
AsString
Autofocus
BlobDownloadLink
Column.DataIsLink
Comboboxes in MVC from model driven ViewModel
Convergence â ViewModels, import, export, multi search, synchronization and Excel
Cursored or Full Tree
Databind labels in ViewModels
Databound Placeholder text
Declarative ViewModels and Taborder
Dragging and DragDrop Actions
Explaining âThe ViewModel does not require a root objectâ warning
FollowEnable
How Null is represented in your picklist
Index page
Logged in Person presentation
MVC View Model handling
AutoFormsâget more with less faster
Cell level ReadOnly
Column.DataIsImageUrl
Multiple file upload component
Nesting.Striped
OCL Editor, system prototyper and ViewModel
Per viewmodel ReadOnly mode
PlacingContainer
SelfVM
SelfVM.DirtyList
Swipe Actions
The combobox
Timedout viewmodel
ViewModel
ViewModelColumnNamesWithSpecialMeaning
ViewModelName
ViewModel Editor
ViewModel actions
ViewModel for Business
ViewModel settings
AccessGroups, InterestGroups and ViewModel-Enable
Auto save
Column.BlobDownloadLink
Column.StringFormat
Comboboxes with strings
Custom controls in ViewModel aided Views
Hide Main menu or left menu
Input Controls
MDriven Movie Theatre Part 2
MVC Generated ViewModel UI in MDrivenFramework
MVC View Model constraints
Render MVC ViewModel without turnkey
Softview
Span.Eco.AutoSave
Span.Eco.UIAllowed
Span.HideSidebar
Toolbarmode
UI Firstâor information first
Grids, forms, and master detail
A simple table component for just listing a collection
Edit in Grid
Column.SeekerSortable
Nesting.FrozenColumns
Table Grid Column Style
Tables and Grids
Nesting.Editable
Pivot tables
Filters, sorting, and paging
Search result pages
Tables, search and ordering
Column.SeekerSortable
DataGrid filters
Nesting.ClientSortable
ViewModel nestings and parameters
Adding Buttons in Nested ViewModels
ListActions
Mounted ViewModel
Nesting.IsSeekerResultGrid
Nesting.MultiSelect
Nestings
OCLOperators Nestings
ViewInView
ViewModel variables (VCurrent, VSelected, etc.)
Built in ViewModel variables
Clipbook
DisplayWithVariables
Geolocation
How to use vCurrent and âselfâ correctly in viewmodels
Nesting.IncludeCurrentAndSelectedVariables
VClientScreenHeight
VClientScreenWidth
VCurrent Root
VCurrent and vSelected
VIsMobileDevice
ViewModel variables
SelfVM
Validations and error presentation
Turnkey session 4: ViewModel validation
ViewModel validations
MVC View Model constraints
Store complaint handling
Dialogs and modals
MDriven designer overview Part 4
Modal views
PopUp action
Span.ModalSize
Dashboards and seekers
Searching
Seeker
Efficient fetch and large lists
Column.MaxFetch
Efficient ViewModel fetch
QueryPlan
MaxFetch
Actions and Business Logic
Actions overview (class and instance scope)
Acting on object changes
Action names
Actions
Actions And Viewmodels, MDriven Designer
Actions Editor
Application actions
Assign actions a menu group based on class
Available Actions
Class actions
EAL â ExtendedActionLanguage.
Global actions
ListActions
Periodic action
Standard actions
Web client actions in tables
Adding Buttons in Nested ViewModels
Charge end user
OCLOperators ExecuteAction
Action guards and side effects
Acting on object changes
Side effects
Mockotype
Transactions and idempotency patterns
IsolationLevel
Error handling and undo strategies
OCL in Designer
Collections, iterators, and selection
Collections
Assign actions a menu group based on class
OCLOperators Nestings
ChatDesignerPrompt
Collection of strings
Further Linq enhancements
Methods
Modlr plugin
Set vs bag
String, numeric, date and time operators
Char to int and back
Convert string to bytes
Creating numeric types
Modulus math
OCLOperators XHtmlReportAsString
OCLOperators newGuid
Split time string to value
ToString
ClassFromString
Default String Representation and asString
Ocl hex to dec
Parse
SysSingleton.UrlEncode
Conditional logic and pattern matching
OCL debugger and tracing workflow
OCL Debugger
Part 3 OCL: Derivation properties
Action must have a name
Logging OCL in Turnkey
Updates to AutoForm and Debugger after latest feedback
OCLps and server side execution concepts
OCL-PS
OCLOperators ExecutePS
OCLOperators PSEval
OCLOperators PSEvalTuples
OCLOperators PSEvalValue
OCLOperators RunServerSideViewModelNow
OCLps
OCLps Example
Searching
State value as a string
PSExpression , or how to do things in the DB from MDriven
Reusable OCL libraries and conventions
Data and Persistence
Persistence mapping overview
Database
How your classes are stored in the SQL database when using MDriven
OR Mapping
Persistence
Persistence mappers
SQL Database
SQL Server
Seeing everything that is persisted
Working with Code and Persistence Mapping
Default mappers and type mapping notes
Column.Eco.BlobType
DefaultDBValue
Type mapping, OR-Mapping
Autoguid
Initial values and Default Database values
MySQLânotes to support the use of MySQL with MDriven
Setting all model classes to use AutoInc as PrimaryKeyMapper
Reverse engineering an external database
Custom OR Mapping
Making sense of legacy dataâDB Reverse
Reverse engineer a database
Setting all model classes to use AutoInc as PrimaryKeyMapper
SQL
Importing CSV or Excel seed data
Convergence â ViewModels, import, export, multi search, synchronization and Excel
OCLOperators ImportTabSepData
Import Data
ExternalId and object identity strategies
Column.Eco.BlobType
Object Identity
The ExternalId explained
OCLOperators objectfromExternalId
The VMClassId Explained
Diagrams and Documentation
Class diagrams: layout and readability
Class diagrams
Diagrams in Diagrams
Ecomdl
Model Examples
State diagrams: modeling lifecycle
Diagrams in Diagrams
State Diagrams
Auto layout and diagram organization tips
Autodiagram
Tagged values, notes, and in model documentation
Added tagged values to attributes based on the class' tagged values
Case sensitive or not
Column.Angular Ext Component
Column.ClientSortable
Column.DataIsHtml
Column.FixColSize
Column.FormatAttr
Column.HideHeading
Column.MaxFileSizeInBytes
Column.Placeholder
Column.Resizable
Column.SkipStyleLogic
Column.StringFormatAngular
Column.StringFormatRazor
Column.Switch
Column.autofocus
Data
Ecomdl
Getting taggedvalues in runtime without code
Important TaggedValues for MDriven Turnkey Web-UI is found Here
Important TaggedValues for MDriven WPF Fat client
MDrivenDesignerTaggedValueHints
Extensions
Operations
Span.FixColSize
Span.HideMenubar
Span.Savebar
Span.XmlRootTag
Tag extensions
TaggedValues
Tagged values in the Designer
Text formatting
Catching more information in your model
Column.autocomplete
Span.DoNotSearchOnEnter
Traceability to requirements and specs
Ecomdl
Validation and Model Checks
Model validations and consistency checks
Attribute.CheckIdNameConflict
Check model error
Validate data in the database
Typical error messages and quick fixes
Action must have a name
Check model error
Downgrade MDriven Framework version
Duplicate IDs in the database
String attribute overflowing
Unknown valuetype
Health checks and lint like conventions
Testing and Simulation
Deterministic test data and fixtures
Selenium Testing
Scenario based model testing
Simulating actions and state changes
Simulate login
Measuring rule impact over time
Integration Touchpoints
Publishing to Turnkey from Designer
AssetsTK
Exposing REST from the model (overview)
Api documentation
REST API For Versioned Downloads
Rest API
Rest Delete
Rest Post
Rest Put
Rest Services In MDriven
Span.Eco.RestAllowed
Communication between MDrivenServers
Improved routes
Javascript calling Turnkey rest
Receive post data not known at design time
RestAllowed UIAllowed
Rest Patch
Services
SignalR and Realtime
Tajson
Consuming external REST or SOAP definitions in model
Importing web service interface as model
Communication between MDrivenServers
JsonToObject vs Tajson
OCLOperators RestDownload
OCLOperators RestPost
Rest API
Sign client rest request with certificate
Using JSON or XML as class template
Designer to Server connections and model debug hook
MDriven Server - Connecting To
OCLOperators RemoteTurnkeyConnectGetSessionKey
Debug CodeDress
Performance and Optimization
Cardinality choices and fetch strategies
Delayed Fetch
Memory optimization
Derived vs stored data tradeoffs
Profiling OCL and hot paths
Collect very slow
Caching and pre materialized views in the model layer
CacheInvalidation
Security and Access in the Model
Access groups and permissions
AccessGroups, InterestGroups and ViewModel-Enable
Access control system in MDriven
Access groups
Model Access Review
Deeplink with authentication
Part 9 MDriven Turnkey, cloud tools and access groups
Restricting data access
Security
SysSession
Turnkey session 5: How to access the logged in user. AccessGroups
ViewModel access and security
Certificate
GDPRPolicy
OCLOperators canAccess
SysUser
Attribute and association level security
Access control system in MDriven
Restricting data access
Security
Context based and row level rules
GDPRPolicy
Restricting data access
Security
Multi tenant rule variations
MultiTenantPrefix
Refactoring and Evolution
Rename, split, and merge classes safely
How to rename a class in your model â using the model debugger
MDriven Designerâa new Rename function to save you time
Deepclone
Database evolve
Model Examples Old
Deprecation and migration strategies
Bootstrap
Breaking changes
GroupBox
Migrating Data Between Databases
Migrating From MDriven .NET Framework to .NET Core
Moving from legacy ECO to MDrivenServer
Working with legacy Handles
Backward compatibility approaches
Versioning and change logs for releases
Breaking changes
Changelog
Versioned on class
Best Practices and Patterns
Naming conventions and structure
MCoins
Aggregates and consistency boundaries
Pattern catalog: factory, specification, adapter
Singleton
Pattern supported methods
Large model governance and reviews
Documentation debt and living guides
Documentation
Documentation Old
Documtr and XPS
Legacy
Summit
SysDocBatch
Trust and Guarantee
Troubleshooting
Designer common issues and resolutions
Before going nuts about this issue
Code generation not working
Codegen failed
Exception starting
Missing Set button in Autoform single link
Fault-finding certificate problems in IIS
No suitable constructor found
PreserveLegacyFilenames
Problem saving database script
RecyclableMemoryStream
Threading bug
Visual studio doesn't open model file
WCF issues
Ng-click ( ngClick ) not working
Possible file version mismatch detected between ADO.NET Provider and native binaries of SQL Server Compact
SQL not trusted
WebAssembly 2020
Derivation and validation debugging tips
Derivation is not available in the database
Multiple instances
State machine gotchas and recovery
OCLOperators stateMachineForceMode
Performance triage and profiling workflow
Documentation
/
Association classes
Association classes
Share
Facebook
X (Twitter)
Copy link
This page was created by
Wikiadmin
on 2023-12-20. Last edited by
Edgar
on 2025-08-31.
REDIRECT
Training:Association classes
Categories
:
Association classes and link objects
Core Modeling Concepts
Intermediate-Friendly
Priority 40