事件 属性 未在我的 Web API 控制器中被识别
Event property not being recognized in my Web API Controller
我在这里变得非常绝望,因为这段代码在我遇到一些不幸的 git 问题并且不得不清除我的项目并再次结帐之前就可以工作。出于某种原因,我的 IQueryable 对象不再允许我引用属性。在我下面的代码中,evt.id 应该是有效的,但 id 在 Visual Studio 中不被识别为 evt 的 属性。另外,我应该提一下,我不仅不能访问 evt,而且也不能访问属于目标的任何属性。重新编码我的控制器的这一部分时,我错过了什么吗?
public HttpResponseMessage GetTodaysPatientGoals(int id)
{
var evt = db.patient_event.Where(e => (e.patient_id == id) && (e.date == DateTime.Today));
//evt.id is not recognized here either
if(evt != null)
{
//evt.id is not recognized as a property of evt here
//also cant access properties of goal either
var goal = db.patient_goals.Where(g => (g.patient_id == id) && (g.event_id == evt.id)).Select(row => (new { row.id, row.completed, row.goal }));
return Request.CreateResponse(HttpStatusCode.OK, goal);
}
return Request.CreateResponse(HttpStatusCode.NoContent);
}
如有任何帮助,我们将不胜感激。
当你
var evt = db.patient_event.Where(e => (e.patient_id == id) && (e.date == DateTime.Today));
您的 evt
将是一个 IEnumerable<T>
,其中 T
是 db.patient_event
中的任何内容。也就是说,您的 evt
是事件的集合,而该集合没有 id
属性。在进入 id
属性 之前,您必须选择一个特定的事件。例如
var myEvent = evt.First();
Console.WriteLine(myEvent.id);
通过这种方式获取 evt 对象,
var evt = db.patient_event.Where(e => (e.patient_id == id) && (e.date == DateTime.Today)).FirstOrDefault();
我在这里变得非常绝望,因为这段代码在我遇到一些不幸的 git 问题并且不得不清除我的项目并再次结帐之前就可以工作。出于某种原因,我的 IQueryable 对象不再允许我引用属性。在我下面的代码中,evt.id 应该是有效的,但 id 在 Visual Studio 中不被识别为 evt 的 属性。另外,我应该提一下,我不仅不能访问 evt,而且也不能访问属于目标的任何属性。重新编码我的控制器的这一部分时,我错过了什么吗?
public HttpResponseMessage GetTodaysPatientGoals(int id)
{
var evt = db.patient_event.Where(e => (e.patient_id == id) && (e.date == DateTime.Today));
//evt.id is not recognized here either
if(evt != null)
{
//evt.id is not recognized as a property of evt here
//also cant access properties of goal either
var goal = db.patient_goals.Where(g => (g.patient_id == id) && (g.event_id == evt.id)).Select(row => (new { row.id, row.completed, row.goal }));
return Request.CreateResponse(HttpStatusCode.OK, goal);
}
return Request.CreateResponse(HttpStatusCode.NoContent);
}
如有任何帮助,我们将不胜感激。
当你
var evt = db.patient_event.Where(e => (e.patient_id == id) && (e.date == DateTime.Today));
您的 evt
将是一个 IEnumerable<T>
,其中 T
是 db.patient_event
中的任何内容。也就是说,您的 evt
是事件的集合,而该集合没有 id
属性。在进入 id
属性 之前,您必须选择一个特定的事件。例如
var myEvent = evt.First();
Console.WriteLine(myEvent.id);
通过这种方式获取 evt 对象,
var evt = db.patient_event.Where(e => (e.patient_id == id) && (e.date == DateTime.Today)).FirstOrDefault();