2017-10-10 134 views
2

如何防止Dapper中的SQL隱式轉換?SQL和Dapper性能隱式轉換

我們意識到,我們正在進行SQL隱式轉換,導致索引掃描和死鎖。 Dapper參數是nvarchar,而SQL表列是varchar。這導致我們所有的sql列轉換爲nvarchar。

我們通過我們的所有嵌入式小巧玲瓏碼持續和轉換列作爲cast(@SSN as varchar(9)), cast(@LastName as varcarh(25)), cast(@EmployeeId as varchar(10)

有固定的問題,一定是一個更簡單的方法,是嗎?

我看了這個博客,除了我們不設置字符串這樣的例子:

new { queryPlanHash = args[0], startDate = DateTime.Today.AddDays(-7) }); 

https://www.codeproject.com/articles/594133/bepluscarefulpluswithplusvarcharsplusinplusdapper

有什麼我們可以在連接字符串中的變化?

FinanceConnectionString "providerName="System.Data.SqlClient" connectionString="Data Source=(local);Initial Catalog=FinanceData;integrated security=SSPI;persist security info=False; Trusted_Connection=Yes" /> 

回答