I am able to get automatic definitions of classes in simple model in C#. However, so far I have had less luck when using subtypes in my models. For example, suppose I have the following simple model of different kinds of languages:
Now, if I open the "ORM Generator Selection" window, select PLiX_Implementation and PLiX_Support, I get C# files containing the definition of the class Language, containing the two properties Name and LanguageType. However, classes for the two entities ProgrammingLanguage and NaturalLanguage are not created. Their fiels are added to the sql schema, though, e.g. for MS SQL I get this definition:
CREATE SCHEMA ORMModel1
CREATE TABLE ORMModel1."Language"
languageId INTEGER IDENTITY (1, 1) NOT NULL,
name NATIONAL CHARACTER VARYING(MAX) NOT NULL,
languageType NATIONAL CHARACTER(1) CHECK (languageType IN (N'P', N'N')) NOT NULL,
naturalLanguageNumber INTEGER CHECK (naturalLanguageNumber >= 0),
CONSTRAINT Language_PK PRIMARY KEY(languageId)
Now what I would like to have is C# definitions for my two subclasses, and, if possible, have the system automatically create objects of the right type when I query the database. Of course for this to work, I have to specify somewhere how to discriminate between ProgrammingLanguage and NaturalLanguage objects (something like "each ProgrammingLanguage is a Language that is of type 'P'"). Can this be done in a formal way in NORMA, so that it can automatically create the correct types of objects when reading the database?