Enterprise Data Access Application

•Reference the Data Access block assemblies
• Configure Data Access settings
• Add the required Namespace
• Create an instance of Database
• Perform actions using the Database instance

(1) including

Microsoft.Practices.EnterpriseLibrary.Common.dll    Required
Microsoft.Practices.Unity.dll                                   Required
Microsoft.Practices.Unity.Interception.dll                 Required
Microsoft.Practices.ServiceLocation.dll                     Required
Microsoft.Practices.EnterpriseLibrary.Data.dll           Required

(2)For instance

<configuration>
  <configSections>

  <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,       Microsoft.Practices.EnterpriseLibrary.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"/>

  </configuration>
</configSections>

<dataConfiguration defaultDatabase="BMPConfig"/>
  <connectionStrings>
    <add name="BMPConfig" connectionString="Data Source=xx.xx.xx.xx;Initial Catalog=xxxx;Persist Security Info=True;User ID=sa;Password=xxxxxx!" providerName="System.Data.SqlClient"/>
  </connectionStrings>

the example in the book  Enterprise Library5.0

[XML Configuration]
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.
EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.
Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
</configSections>
<dataConfiguration defaultDatabase="EntLibBook-DataAccess" />
<connectionStrings>

<add name="EntLibBook-DataAccess" connectionString="server=.\
SQLEXPRESS;database=EntLibBook-DataAccess;Integrated Security=true;"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>

(3) for example

using Microsoft.Practices.EnterpriseLibrary.Data

(4)such as

a)  Using the DatabaseFactory class

  Database DBObj = DatabaseFactory.CreateDatabase();

    Database db = DatabaseFactory.CreateDatabase("EntLibBook-DataAccess");

b)Using Unity service locator

   Database db = EnterpriseLibraryContainer.Current.GetInstance<Database>(); 

   Database db = EnterpriseLibraryContainer.Current.GetInstance<Database>("EntLibBook-DataAccess"); 

c)Using Unity container directly

  This approach leverages
      the dependency injection mechanism to create objects instead of explicitly creating
      instances of concrete implementations.

  

  var container = new UnityContainer();
      container.AddNewExtension<EnterpriseLibraryCoreExtension>();
      Database database = container.Resolve<Database>();

  var container = new UnityContainer();
  container.AddNewExtension<EnterpriseLibraryCoreExtension>();
  Database database = container.Resolve<Database>("EntLibBook-
  DataAccess");

use defaultDatabase

(5)

   xxxxx

posted @ 2011-06-16 16:58  天添  阅读(411)  评论(0编辑  收藏  举报