2011-11-28 57 views
-3

你能幫我把這個select命令改成linq to sql select命令嗎?Linq To Sql select命令

string value = ddl.SelectedValue; 

SELECT * 
FROM Song 
WHERE SongID IN (
      SELECT SongID 
      FROM AlbumSong 
      WHERE AlbumID = @value) 
+6

LINQ的方法那你試試? – Steven

+0

您是否創建了DBML?你可以發佈你的第一次嘗試的樣子,所以我們可以從那裏拿走它? –

+0

問題的形式:「請爲我做這個」暗示你應該發佈你已經嘗試過的東西或去嘗試一些事情,以便你可以發佈你的嘗試。 – mydogisbox

回答

1

下面是用更簡潔dot notation

var dataContext = new YouDataContext(); 
int value = 10; 
dataContext.Song.Where(a => 
    dataContext.AlbumSong.Where(alSong => alSong.AlbumId == value) 
          .Select(alSong => alSong.SongId).Contains(a.SongId)); 
+0

非常感謝。我做的 – Mimosa

0

您有:

"SELECT * FROM Song WHERE SongID in (SELECT SongID FROM AlbumSong WHERE AlbumID = " + value + ")"

有你爲什麼不使用這裏加入的原因,而不是嵌套查詢?像:

"SELECT * FROM Song INNER JOIN AlbumSong ON Song.SongId = AlbumSong.SongId WHERE AlbumID = " + value

還是我誤解你需要在這裏和加入是不是合適?

+0

是的,它可以代替那個選擇。 但是,我需要一個linqtosql命令 – Mimosa