This dialog allows you to set model properties that affect code generations.
Name – Name of the DataContext.
Base Class – Base class of the DataContext.
Context Namespace – Namespace for defining DataContext.
Entity Namespace – Namespace for defining the classes, mapped to tables.
Access – Set the accessibility level of the DataContext class here.
Serialization Mode – Select Unidirectional if you want to serialize your model classes. This adds [DataContract()] attributes from the System.Runtime.Serialization.dll assembly. Select None if you do not need serialization.
Inheritance Modifier – Set the inheritance modifier for the DataContext class here.
Mapping Mode – Determines how mapping and model are pre-processed at the build time.
File – To use external mapping, an XML mapping file should be created. The main model file (e.g., CrmDemoContext.lqml) should not be used for this purpose, as it stores extended information about entity fields and database columns. Thus, .lqml files include properties not declared in the mapping files schema.
To create the proper file, set the Mapping Mode model property to File. In this case, Entity Developer will generate a mapping file (e.g., CrmDemoContext.xml) that satisfies the standard schema.
Detect ManyToMany Associations – Select this checkbox to turn on the detection of many-to-many associations in your projects.
Use Database Comments – Determines whether comments for database objects, if supported by DBMS, will be used for model objects Documentation initialization and taken into account when executing model or database update operations.
Use connection string from App.config as – Determines the name of the connection string in the config file of the project, that will be used in Entity Developer.
Rewrite connection string during regeneration – Determines whether to overwrite the connection string in the project config file with the one, currently set in Entity Developer for the model, each time when regenerating code for the model.
Class Initialization – This grid displays and allows managing the automatically added properties.
Add – Pressing this button calls the Property Editor dialog box that allows you to configure the automatically added property.
Edit – Pressing this button calls the Property Editor dialog box that allows you to change settings of the automatically added property.
Remove – Pressing this button deletes the selected property.
Property Initialization – Options that will be automatically set when creating a new property.
Precision – Defines the Precision property value for entity properties being created.
Scale – Defines the Scale property value for entity properties being created.
Max Length – Defines the Max Length property value for entity properties being created.
Default Unicode – Defines the Unicode property value for entity properties being created and having string data type.
Concurrency Check – Defines the concurrency mode for entity properties being created.
.NET attribute types used for specifying the model object attributes – Displays and allows managing assemblies and attributes types.
Context Model – Allows adding extended properties for the context of the model. To add a custom property, click the Add button and edit its name, type and default value.
Class – Allows adding/removing extended properties for a class of the model.
Complex Type – Allows adding extended properties for the complex type of the model. To add a custom property, click the Add button and edit its name, type and default value.
Property – Allows adding/removing extended properties for a class property in the model.
Relation Property – Allows adding extended properties for the relation property of the model. To add a custom property, click the Add button and edit its name, type and default value.
The Model Naming page is divided in two sections - Class, Method Names and Class, Method Members’ Names. The options presented in both sections allow changing the names of classes or their members by adding or removing suffixes, prefixes, etc.
Case – Changes the case of the letters in the name. Can take the following values:
Remove Prefix(es) – Removes the specified prefix(es).
Remove Suffix(es) – Removes the specified suffix(es).
Add Prefix – Adds the specified prefix.
Add Suffix – Adds the specified suffix.
Pluralization
Add schema as prefix – Allows you to add the schema name as a prefix to the class names.
Remove underscore – Removes underscores from classes or class members’ names.
Add constraint details to navigation properties – Select this checkbox to add a suffix with column names, by which the foreign key constraint is created in the data source, to the corresponding navigation property name when generating a class with navigation properties from a data source table.
Example section – Shows the current and expected names in the corresponding Original and Becomes fields.
The Database Naming page is divided in two sections - Table, Procedure Names and Table, Procedure Members’ Names. The options presented in both sections allow changing the names of entities or their members by adding or removing suffixes, prefixes etc.
Case – Changes the case of the letters in the name. Can take the following values:
Remove Prefix(es) – Removes the specified prefix(es).
Remove Suffix(es) – Removes the specified suffix(es).
Add Prefix – Adds the specified prefix.
Add Suffix – Adds the specified suffix.
Pluralization
Example section – Shows the current and expected names in the corresponding Original and Becomes fields.
On this tab you can set special rules for generating default names of database objects to be applied in various cases of the Model First approach usage. When setting these rules, you can use predefined keywords which will be replaced with the corresponding values.
Primary Key Column – Defines special naming rules for primary key columns. Predefined keywords, which will be replaced with corresponding values are: %entity name%, %property name%.
Foreign Key Column – Defines special naming rules for foreign key columns. Predefined keywords, which will be replaced with corresponding values are: %entity name%, %master entity name%, %master property name%.
Enable automatic synchronization of storage part and mapping of the model with its conceptual part. – Enables synchronization between conceptual model and storage part without storage part re-generation.
Target Server – Specifies the database server.
Server Version – Specifies the version of the database server.
Target Schema – Specifies the default scheme of the database server.