0

我使用的Visual Studio Express的2013 ASP.NET實體框架篩選結果,並正在創建使用Enitity框架簡單CRUD頁6由currrent用戶

我也實施了社會登錄,所以我通過谷歌記錄在加

我的問題是,我想過濾一個表的結果,只顯示記錄的用戶的結果。我可以通過在控制器中調用它來識別登錄的用戶ViewBag.CurrentTestUserId = User.Identity.GetUserId();我可以稱之爲我的視圖頁面上,但我很努力篩選下方的數據集只顯示已登錄的用戶

// GET: /Test/ 
    public ActionResult Index() 
    { 
     var tests = db.Tests.Include(t => t.AspNetUser); 
     return View(tests.ToList()); 
+1

你嘗試。凡()列? –

回答

0

您可以在LINQ查詢應用where子句過濾器的測試數據。使用AspNetUser表的右列名稱等。

// GET: /Test/ 
public ActionResult Index() 
{ 
    var userId = User.Identity.GetUserId(); 
    var tests = db.Tests.Where(t=>t.AspNetUser.UserId == userId); 
    return View(tests.ToList()); 
} 
0

非常感謝您的回答。

// GET: /Test/ 
public ActionResult Index() 
{ 
    var userId = User.Identity.GetUserId(); 
    var tests = db.Tests.Where(t=>t.TestUser == userId); 
    return View(tests.ToList()); 
} 

這完美的作品,其中testuser的是在我的模型包含ASP的ID登錄的用戶

問候

+0

呃,這幾乎重複了raja的回答。當然,他不可能知道't.TestUser'。我認爲你應該把他的答案標記爲接受。 –