xpo-devexpress-dot-xpo-dot-idatalayer.md
When implemented by a class, this event will occur when the data schema is initialized or updated.
Namespace : DevExpress.Xpo
Assembly : DevExpress.Xpo.v25.2.dll
NuGet Package : DevExpress.Xpo
event SchemaInitEventHandler SchemaInit
Event SchemaInit As SchemaInitEventHandler
The SchemaInit event's data class is SchemaInitEventArgs. The following properties provide information specific to this event:
| Property | Description |
|---|---|
| Command | Gets an SQL statement which can be executed while connected to an SQL data source. |
| Table | Gets an object metadata the schema for which has been created in storage. |
private static void DataLayer_SchemaInit(object sender, SchemaInitEventArgs e) {
if (e.Table.ClassType == typeof(User)) {
XPMemberInfo firstNameColumn = e.Table.FindMember("FirstName");
e.Command.CommandText = String.Format(
"alter table [{0}] alter column [{1}] nvarchar({2}) collate Latin1_General_CS_AS",
e.Table.TableName, firstNameColumn.MappingField, firstNameColumn.MappingFieldSize
);
e.Command.ExecuteNonQuery();
}
}
Private Shared Sub DataLayer_SchemaInit(ByVal sender As Object, ByVal e As SchemaInitEventArgs)
If e.Table.ClassType Is GetType(User) Then
Dim firstNameColumn As XPMemberInfo = e.Table.FindMember("FirstName")
e.Command.CommandText = String.Format( _
"alter table [{0}] alter column [{1}] nvarchar({2}) collate Latin1_General_CS_AS", _
e.Table.TableName, firstNameColumn.MappingField, firstNameColumn.MappingFieldSize _
)
e.Command.ExecuteNonQuery()
End If
End Sub
See Also