2014-02-13 63 views
0

這似乎很基本,我不能爲我的生活弄明白。SQL查詢幫助.Net MVC5

使用.net MVC5我有一個路徑/ {categoryName} /和我試圖讓給定的{categoryName}中的所有子類別顯示。

現在我已經和正在返回的子類別ID號:

var subCategoriesInCategory = 
    from cat in db.Categories 
    join subcat in db.SubCategories 
    on cat.CategoryId equals subcat.CategoryId 
    where (cat.CategoryName == categoryName) 
    select (subcat); 

我敢肯定,這是基本的someoone在SQL精通,但是......

感謝

回答

1

嘗試從子類別角度而不是類別看這個。

var subCategoriesInCategory = 
    from subcat in db.SubCategories 
    where subcat.CategoryId == somevalue 
    select subcat; 

您需要用匹配的類別的CategoryID值替換somevalue

或者你也可以通過這樣繞過連接語句:

var subCategoriesInCategory = 
    from subcat in db.SubCategories 
    where subcat.CategoryId == (from cat 
     in db.Categories 
     where cat.CategoryName == categoryName 
     select cat.CategoryId 
    ).FirstOrDefault() 
    select subcat; 
+0

這偉大工程!謝謝:) – ZombieBunnies

+0

非常歡迎你! –

0

它看起來OK。試試你知道一個類別有subcats

var subCategoriesInCategory = 
    (from cat in db.Categories 
    join subcat in db.SubCategories 
    on cat.CategoryId equals subcat.CategoryId 
    where (cat.CategoryName == "ExistingCategory") 
    select subcat).FirstOrDefault(); 
if (subCategoriesInCategory == null) 
{ 
    // somethings wrong ! 
} 

,或者如果你只是想子類的ID

... select new { subcat.ID }