问题:使用EF调用SqlBulkCopy的时候,在创建SqlBulkCopy实例时,传入连接字符串,这里传入Db.Database.Connection.ConnectionString
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(Db.Database.Connection.ConnectionString, SqlBulkCopyOptions.UseInternalTransaction))
在调用的时候有时候会抛异常,检查出错时Db.Database.Connection.ConnectionString的连接字符串里没有password。
在网上查找解决方案,在连接字符串里加入persist security info=True;解决问题
<connectionStrings> <add name="Entities" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=DW.EstateManagement;persist security info=True;user id=dw_estatemanagement;password=dwestatemanagement;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /> </connectionStrings>
问题解决,但还不清楚同一个方法,有的时候调用不出异常。