0

以下のコードスニペットは、「i.tPersons.Any」で次のようなエラーを生成します。

「WhatWorks.Models.tPerson」には「Any」の定義が含まれておらず、「WhatWorks.Models.tPerson」タイプの最初の引数を受け入れる拡張メソッド「Any」が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか? ?)

'Any'はSystem.Data.Entityのメソッドであるため、これが取得されることを期待します。私は何が欠けていますか?

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using WhatWorks.Models;

namespace WhatWorks.Controllers
{
    public class InterventionController : Controller
    {
        private WhatWorksEntities db = new WhatWorksEntities();

        //
        // GET: /Intervention/

        // where parameter list only includes id
        public ActionResult Index(int id)
        {
            var model =
                    (
                        from i in db.tInterventions
                        where (i.householdID == id && !(i.tPersons.Any(t => i.householdID == id)))
                        select i
                    );
4

1 に答える 1

0

Any() は、IEnumerables と IQueryables に適用できる Linq 拡張メソッドです。

tPersons コレクションで .Any() を実行しているように見えますが、Any の述語では、tInterventions のインスタンスである「i」を使用しています。

したがって、i.householdID の i を t.householdID に置き換えるか、tIntervensions で Any を直接実行します。

于 2012-12-12T11:31:26.453 に答える