Property properties

LinqConnect class property has the following properties.

Access – Property access.

Auto Generated Value – Determines whether this property maps to the column which is filled automatically.

Auto-Sync – Determines whether to synchronize the value automatically when an insert or update occurs. Can be OnInsert, OnUpdate, Always, and Never.

Default Value – The default value of the property.

Delay Loaded – Determines whether this column is loaded only when it is accessed.

Documentation

Long Description – Detailed description for the property.

Summary – Brief description for the property.

Fixed Length – Indicates that the column stores fixed-length textual or binary data.

IdGenerator – Allows setting the ID generator class for the auto-generated property. You can select one of the predefined generators or use a custom class to generate values for this property. You can use the following generators:

  • None – No generator is specified.
  • Identity – This value means that the value is database-generated, and no generation is performed in the application.
  • Increment – This value means that an incremented value of the maximal value of this column in the table is used. It is recommended to use only in single-users applications. This method can be applied to the following types: Byte, Int16, Int32, Int64 (Single, Decimal, string columns may have this generator applied too, the generated value will be converted from Int64 to the data type of the column).
  • Sequence – Applicable to PostgreSQL and Oracle databases - a database sequence will be used for generating the property value. You should specify the sequence name if you use the sequence ID generator.
  • TableHiLo – A hi/lo algorithm will be used to generate identifiers of any integral type, given a table and column as a source of hi values. Key is calculated as hi*(maxlo+1)+lo. “hi” is calculated at least once for the SubmitChanges operation. In a single transaction, “hi” is read and incremented value of “hi” is written to this table via optimistic locking. “lo” is 0 for the first object, and is incremented for each next object. If lo exceeds the maxlo value, a new hi value is queried from the table, and lo starts from 0 again. It can be applied to the following types: Byte, Int16, Int32, Int64 (Single, Decimal, string columns may have this generator applied too, the generated value will be converted from Int64 to the data type of the column). You should specify the following information to use this generator:
    • Column – name of the column as a source of hi values.
    • KeyField - name of the column used for selecting table rows for the hi value by the KeyFieldValue property. If KeyField and KeyFieldValue are specified, the WHERE clause “WHERE <KeyField> = <KeyFieldValue>” is added to the query that returns the hi value.
    • KeyFieldValue - value, used to select table rows by the KeyField column for getting the hi value.
    • MaxLo - new hi value will be queried after each MaxLo objects.
    • Table - name of the table, used as the source for hi values.
  • SequenceHiLo – A hi/lo algorithm will be used to generate identifiers of any integral type, given a named database sequence. Applicable for PostgreSQL and Oracle databases. This approach is similar to the TableHiLo , but “hi” is taken from the sequence. It can be applied to the following types: Byte, Int16, Int32, Int64, (Single, Decimal, string columns may have this generator applied too, the generated value will be converted from Int64 to the data type of the column). You should specify the following information to use this generator:
    • MaxLo - new hi value will be queried after each MaxLo objects.
    • Sequence - name of the sequence, used as the source for hi values.
  • Guid – A new System.Guid will be used as the identifier. You should specify the GUID format for this generator.
  • Custom – Custom class, implementing IKeyGenerator interface, will be used to generate values for the property. You should specify the custom generator class and the parameters of its constructor.

Inheritance Modifier – Property inheritance modifier. The Inheritance Modifier property can take None, New, NewVirtual, Override or Virtual value.

  • None – The default value. No inheritance modification is performed.
  • New – Specifies that the derived base class property with this name is explicitly hidden.
  • NewVirtual – Specifies that the derived base class property with this signature is explicitly hidden, and this property of the class can be overridden in the derived class.
  • Override – Specifies that the property overrides the one, derived from the base class.
  • Virtual – Specifies that the property can be overridden in the derived class.

Is Version – Indicates whether the column is a timestamp or version in the database. Such column will be updated when a change occurs.

Max Length – Displays max length for the string and binary columns.

Name – Property name.

Nullable – Determines whether this property is nullable.

Precision – Displays the maximal number of digits used by the column data type. Applicable to the numeric fields.

Primary Key – Determines whether this property is mapped to the primary key column. You can set multiple columns to be primary in your mappings to create a composite key association.

Read Only – Determines whether this property is read-only.

Scale – Displays the number of digits to the right of the decimal point in a number used by the column data type. Applicable to the numeric fields.

Server Data Type – The data type of the table column the property will be mapped to.

Source – The table column the property will be mapped to. If left blank, the property name is used.

Type – Property type.

Unicode – Specifies that the column stores data in Unicode format.

Update Check – Set to override the default handling of optimistic concurrency conflict detection. Can be Always, Never, and WhenChanged.