0

ASP.NET-MVC 3 + SQL Server 2008 アプリで、現在承認されているユーザーのテーブルからすべてのレコードを表示したいと考えています。しかし、私はいくつかの問題を抱えています:

LINQ-request が正常に機能するこのコード:

public ActionResult Index(todo obj)
        {
           string u = User.Identity.Name; 
           var th = (from tt in _db.todo select tt);
           return View(th);
        } 

しかし、このコードは機能しません:

public ActionResult Index(todo obj)
          {
             string u = User.Identity.Name; 
             var th = (from tt in _db.todo where obj.login == u select tt);
             return View(th);
           }

そして、このコードはうまく機能しています

if (u == obj.login) { ViewBag.res = "ok"; } else { ViewBag.res = "fail"; }

私が間違っていること、助けてください。

4

2 に答える 2

1

おそらく、メソッドからの引数に対してではなく、クエリを実行しているテーブルに対して where 基準を実行する必要があります。つまり、次のようになります。

var th = (from tt in _db.todo where tt.login == u select tt);

于 2012-04-05T16:15:03.743 に答える
0

の代わりにobj.login == u、試してみてください

obj.Contains(u)
于 2012-04-05T16:16:09.697 に答える