企业库6.0配置及常用方法

1、下载安装包

2、项目中引用

Microsoft.Practices.EnterpriseLibrary.Common.dll

Microsoft.Practices.EnterpriseLibrary.Data.dll

3、修改配置文件APP.config/web.config添加以下节点

注意:<configSections>节点只能存在一个且必须紧接<configuration>节点

<configuration>
  <!--微软企业库6.0 配置Begin-->
  <configSections>
    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
  </configSections>
  <!--指定默认数据库 必须配置-->
  <dataConfiguration defaultDatabase="crm2015" />
  <connectionStrings>
    <!--开发环境-->
    <add name="crm2015" connectionString="Initial Catalog=MSCRM;Data Source=00.0.000.00;UID=sa;Password=pwd;"
        providerName="System.Data.SqlClient" />
 
  </connectionStrings>
  <!--微软企业库6.0 配置End-->

  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
  </startup>
</configuration>
View Code

4、常用数据数据访问方法:

          DatabaseProviderFactory factory = new DatabaseProviderFactory();
            Database db = factory.CreateDefault();

            string sqlComm = @"UPDATE [dbo].[new_autosendmail] SET [New_send] = 1,[New_senddate] = GETUTCDATE() WHERE New_autosendmailId = @autosendmailId";

            using (DbCommand comd = db.GetSqlStringCommand(sqlComm))
            {
                db.AddInParameter(comd, "@autosendmailId", DbType.Guid, new Guid(emailObj.ObjectId));
                db.ExecuteNonQuery(comd);
            }
View Code
 DatabaseProviderFactory factory = new DatabaseProviderFactory();
                Database db = factory.CreateDefault();

                string sqlComm = "SELECT  [New_autosendmailId] ,[New_title] ,[New_from] ,[New_to] ,[New_body] ,[New_iserror] ,ab.FileName ,ab.MimeType ,ab.DocumentBody FROM  [dbo].[new_autosendmail] asd LEFT join dbo.Annotation ab on asd.New_autosendmailId = ab.ObjectId AND ab.IsDocument = 1 WHERE [New_send] = 0 AND [statuscode] = 1";

                using (DbCommand comd = db.GetSqlStringCommand(sqlComm))
                {
                    IDataReader reader = db.ExecuteReader(comd);
                    while (reader.Read())
                    {
                        string objectId = reader["New_autosendmailId"].ToString();
                        EmailObject obj = new EmailObject();
                        if (dictemails.ContainsKey(objectId) == false)
                        {
                            obj.ObjectId = reader["New_autosendmailId"].ToString();
                            obj.Title = reader["New_title"].ToString();
                            obj.From = reader["New_from"].ToString();
                            obj.To = reader["New_to"].ToString();
                            obj.Body = reader["New_body"].ToString();
                            obj.IsError = reader["New_iserror"].ToString();

                            obj.ConnectionString = db.ConnectionString;

                            emailObjs.Add(obj);
                            dictemails.Add(objectId, obj);
                        }
                        obj = dictemails[objectId];

                        string filename = reader["FileName"].ToString();
                        string body = reader["DocumentBody"].ToString();
                        string mimetype = reader["MimeType"].ToString();
                        if (string.IsNullOrEmpty(filename) == false && string.IsNullOrEmpty(body) == false)
                        {
                            if (obj.Files == null) { obj.Files = new List<EmailFile>(); }
                            obj.Files.Add(new EmailFile() { Filename = filename, Mimetype = mimetype, Body = body });
                        }

                    }
                    reader.Close();
                    reader.Dispose();
                }
View Code
原文地址:https://www.cnblogs.com/servant/p/5265006.html