1

私はまだ ASP.net MVC の初心者であり、クエリ時にデータを表示する際に問題があります。

クエリを実行したコントローラーは次のとおりです。

public ActionResult Create()
{
    var Status = from s in _db.ReservationsStatus where s.defaultStatus == true select  s.Id;

    ViewData["Status"] = Status;
    return View();
}

次に、ビューで ViewData から読み取ります。ただし、出力は次のとおりです。

SELECT [Extent1].[Id] AS [Id] FROM [dbo].[ReservationStatus] AS [Extent1] WHERE 1 = [Extent1].[defaultStatus];

必要な出力は、ID 自体 (クエリの実行結果) です。

4

2 に答える 2

3

クエリを実行する必要があります。

public ActionResult Create()
{
    var Status = (from s in _db.ReservationsStatus where s.defaultStatus == true select  s.Id).First();

    ViewData["Status"] = Status;
    return View();
}
于 2013-05-16T03:41:27.693 に答える
1

LINQ クエリは、遅延モードと即時モードの 2 つのモードで実行されます。あなたが言及した場合、それは遅延実行であるため、クエリは実行されるまで変数に割り当てられます。これは、結果のトラバースを開始したときに発生します。クエリを強制的に実行して値を返す First や count などを呼び出すことで、クエリを即座に実行できます。

于 2013-05-16T03:49:53.520 に答える