我需要根据外键值将一些Linq查询结果返回到List对象中。这样做的语法是什么?我是使用Linq的新手,所以下面是我迄今为止最好的猜测。我在.Where()“子句”中收到错误,指出“当前上下文中不存在名称'pt'。任何帮助都将不胜感激!
List<AgentProductTraining> productTraining = new List<AgentProductTraining>();
var prodCodes = productTraining.Select(pt => new[]
{
pt.ProductCode,
pt.NoteId,
pt.ControlId
})
.Where(pt.CourseCode == course.CourseCode);
答案 0 :(得分:1)
您需要切换位置,并选择是否使用扩展方法:
var prodCodes = productTraining.Where(pt => pt.CourseCode == course.CourseCode)
.Select(pt => new SomeRandomType
{
ProductCode = pt.ProductCode,
NoteId = pt.NoteId,
ControlId = pt.ControlId
});
正如您在上面所看到的,我还建议您为该select语句创建一个类型,这样您就不会依赖匿名类型。你应该放入一个你知道一切的对象类型。
另外,如果CourseCode是一个字符串,那应该是pt.CourseCode.Equals(course.CourseCode)
。