我下面的代码片段在“i.tPersons.Any”处生成错误:
'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
);
答案 0 :(得分:0)
Any()是一个Linq扩展方法,可以应用于IEnumerables和IQueryables。
看起来你正在tPersons集合上执行.Any()但是在你使用'i'的谓词中,在你的情况下是tInterventions的实例。
因此,要么将i.householdID中的i替换为t.householdID,要么直接在tIntervensions上执行Any。