ASP.NET MVC 3 Preview1からRazorViewEngineを試していますが、Any()
拡張メソッドを使用しようとすると問題が発生します。
コントローラでプロパティを設定するために使用するコードは次のとおりです。
ViewModel.Comparisons = DB.Comparisons.Where(c => c.UserID == this.UserID).ToArray();
これが私が使おうとしているビューのコードですAny()
:
@if (!View.Comparisons.Any()) {
<tr>
<td>You haven't not started any comparisons yet. @Html.Action("Start a new comparison?", "create", "compare")</td>
</tr>
}
次のような例外が発生します。
'System.Array' does not contain a definition for 'Any'
web.configSystem.Linq
のセクションとビューの上部に行を追加することの両方に名前空間を追加しようとしましたが、どちらも違いはありませんでした。LINQ拡張メソッドにアクセスするには何をする必要がありますか?pages\namespaces
@using System.Linq
更新:動的オブジェクトのプロパティであるという事実に関係しているようです。手動でにキャストすると機能しIList<T>
ます。