簡體   English   中英

將具有“內部聯接”和“喜歡”的SQL轉換為LINQ

[英]Converting SQL with “inner join”s and “like”s to LINQ

我是LINQ的新手,並且(很遺憾)我需要將一些混亂的sql命令轉換為Linq。 我的數據庫中有兩個簡單的表。 第一個是保存名稱(列“名稱”和“ NameID”),其他表包含昵稱(列數“ Nick”,“ NickID”,“ FK_NameID”)。 每個昵稱都有ID和指向實名的外鍵(名稱ID)。

使用C#,此代碼用於檢索其中包含“ SomeString”的任何昵稱:

comm = new SqlCommand("SELECT Name FROM Names INNER JOIN Nicks ON NameID = FK_NameID AND Nick LIKE '%" + SomeString + "%'", Connection);

據我在谷歌搜索后所看到的,SQL命令中的“ Like”和“ Join”會產生復雜的Linq:\\您能幫我一下,告訴我什么LINQ表達式等於我到目前為止使用的SQL命令嗎? 是否有任何繞過Linq並改為使用DataSet和DataTables的工具? 我總是Linq-noob了:\\

實際上非常相似:

var query = from name in names
            join nick in nicks on name.NameId equals nick.FK_NameId
            where nick.Nick.Contains(SomeString)
            select name.Name;

您應該考慮一下您的列名FK_NameId最好作為NameId (在我看來)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM