Registering the custom entities and its properties using XML is another alternative to Fluent API. The primary advantage of configuring it using XML is its in-dependency whenever you want to introduce new modules in the application you need not stop the application and deploy the new changes and start the application.


Sample DataView Configuration:

  

<DataViewConfiguration>
  <DataViews>
    <DataView ID="1003" MainEntity="Project" Name="ProjectForm" Description="ProjectForm">
      <Features>
        <Feature>ProjectFetaure</Feature>
      </Features>
      <Fields>
        <Field FieldId="ProjectOwner" EntityFieldIdentifier="ProjectOwner" DisplayName="Owner" Description="Owner" FieldType="DropdownList" IsMandatory="1" Ordinal="1" IsVisible="true" IsEditable="true" IsExtendedField="false"/>
        <Field FieldId="ProjectManager" EntityFieldIdentifier="ProjectManager" DisplayName="Manager" Description="Manager" FieldType="DropdownList" IsMandatory="1" Ordinal="2" IsVisible="true" IsEditable="true" IsExtendedField="false"/>
        <Field FieldId="ProjectName" EntityFieldIdentifier="ProjectName" DisplayName="Name" Description="Name" FieldType="TextBox" IsMandatory="1" Ordinal="3" IsVisible="true" IsEditable="true" IsExtendedField="false"/>
        <Field FieldId="ProjectDescription" EntityFieldIdentifier="ProjectDescription" DisplayName="Description" Description="Description" FieldType="TextArea" IsMandatory="1" Ordinal="4" IsVisible="true" IsEditable="true" IsExtendedField="false"/>
        <Field FieldId="Type" EntityFieldIdentifier="Type" DisplayName="Type" Description="Type" FieldType="DropdownList" PickupListId="06583c29-9b73-e311-a964-000c29c8e241" IsMandatory="1" Ordinal="5" IsVisible="true" IsEditable="true" IsExtendedField="false"/>
      </Fields>
    </DataView>
  </DataViews>
</DataViewConfiguration>