企业库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>
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); }
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(); }