Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This is an example of a simple model of an LOB system of type Database. It demonstrates how to use a set of LobSystem and LobSystemInstance properties to configure connection to a database.
-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Model Name="ExampleApplicationDefinition" xmlns="http://schemas.microsoft.com/windows/2007/BusinessDataCatalog"> <LobSystems> <LobSystem Name="ExampleCRM" Type="Database"> <Properties> <!-- This database uses % symbol for the LIKE operator. --> <Property Name="WildcardCharacter" Type="System.String">%</Property> </Properties> <LobSystemInstances> <LobSystemInstance Name="ExampleServer"> <Properties> <Property Name="AuthenticationMode" Type="System.String">PassThrough</Property> <!-- The database instance is named ExampleSQL and is running on the same computer as the application using this Model. --> <Property Name="RdbConnection Data Source" Type="System.String">(local)\ExampleSQL</Property> <!-- The database to be used is named ExampleDB. --> <Property Name="RdbConnection Initial Catalog" Type="System.String">ExampleDB</Property> <!-- The database instance is using integrated security. --> <Property Name="RdbConnection Integrated Security" Type="System.String">SSPI</Property> </Properties> </LobSystemInstance> </LobSystemInstances> <Entities> <Entity Name="Customer" Namespace="example.com" Version="1.0.0.0"> <Identifiers> <Identifier Name="CustomerIdentifier" TypeName="System.Int32" /> </Identifiers> <Methods> <Method Name="GetCustomer"> <Properties> <!-- sp_GetCustomer is the name of the stored procedure that implements this method. --> <Property Name="RdbCommandText" Type="System.String">sp_GetCustomer</Property> <!-- Using stored procedures is a best practice when connecting to database systems. --> <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">StoredProcedure</Property> </Properties> <Parameters> <!-- The parameter name @CustomerId as expected by the stored procedure. --> <Parameter Name="@CustomerId" Direction="In"> <!-- The IdentifierName attribute is required here. --> <TypeDescriptor Name="Id" TypeName="System.Int32" IdentifierName="CustomerIdentifier" /> </Parameter> <Parameter Name="Customers" Direction="Return"> <!-- This SQL command returns a result set containing precisely one row, but it is still wrapped by a data reader and appears as a collection. --> <TypeDescriptor Name="CustomerDataReader" TypeName="System.Data.SqlClient.SqlDataReader, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true"> <TypeDescriptors> <!-- This is a data record corresponding to a single row of the result set. --> <TypeDescriptor Name="Customer" TypeName="System.Data.IDataRecord, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <TypeDescriptors> <!-- The IdentifierName attribute is required here to associate the field with the Identifier. --> <TypeDescriptor Name="Id" TypeName="System.Int32" IdentifierName="CustomerIdentifier" /> <TypeDescriptor Name="FirstName" TypeName="System.String" /> <TypeDescriptor Name="LastName" TypeName="System.String" /> </TypeDescriptors> </TypeDescriptor> </TypeDescriptors> </TypeDescriptor> </Parameter> </Parameters> <MethodInstances> <!-- The ReturnParameterName and ReturnTypeDescriptor are pointing to the data record to be returned. The result set that is wrapping it is not important and can be ignored when processing results. --> <MethodInstance Name="GetCustomer" Type="SpecificFinder" ReturnParameterName="Customers" ReturnTypeDescriptorName="Customer" /> </MethodInstances> </Method> </Methods> </Entity> </Entities> </LobSystem> </LobSystems> </Model>