您好,登錄后才能下訂單哦!
這篇文章主要介紹“Linq鏈接的方法是什么”,在日常操作中,相信很多人在Linq鏈接的方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linq鏈接的方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
以下是一段Linq連接的代碼(Group By)
SELECT p.ParentId, COUNT(c.ChildId)FROM ParentTable p LEFT OUTER JOIN ChildTable c ON p.ParentId = c.ChildParentIdGROUP BY p.ParentId
轉換成Linq連接:
(from p in context.ParentTable join c in context.ChildTable on p.ParentId equals c.ChildParentId into j1 from j2 in j1.DefaultIfEmpty() select new { ParentId = p.ParentId, ChildId = j2==null? 0 : 1 }) .GroupBy(o=>o.ParentId) .Select(o=>new { ParentId = o.key, Count = o.Sum(p=>p.ChildId) })
當使用連接字符Linq連接本地數據庫時,使用string connectionString = "Server=localhost;uid=sa;pwd=sa;database=DataBase;Integrated Security=SSPI"測試正常,但連接遠程數據庫會拋出“未與信任 SQL Server 連接相關聯”錯誤。應更改連接字符串為:“Data Source=192.168.4.23;Initial Catalog=DataBase;Persist Security Info=True;User ID=sa;Password=sa”測試通過。
主要原因在于:
(1)用戶名稱 uid=>User ID;
(2)密碼 pwd=>Password
在使用ADO.Net進行數據Linq連接時,在字符串格式上,要求不是十分嚴格,而使用Linq進行數據庫訪問,則要求更嚴格一些。
順便解釋下連接字符串屬性含義:
關于Linq連接主要介紹如下兩個屬性:
Persist Security Info屬性的意思是表示是否保存安全信息,其實可以簡單的理解為"ADO.Net在數據庫連接成功后是否保存密碼信息",True表示保存,False表示不保存。默認為False.
Integrated Security屬性的意思是表示是否使用Windows身份認證,Integrated Security = Ture使用windows身份認證,但是,只有當Integrated Security = SSPI將適用于OleDb .NET Framework 數據提供程序。為 ConnectionString 設置 Integrated Security=true 將引發異常。
到此,關于“Linq鏈接的方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。