C# 如何使用列表中的Linq筛选数据<;对象>;

C# 如何使用列表中的Linq筛选数据<;对象>;,c#,sql,linq,C#,Sql,Linq,我调用存储过程以使用Linq从数据库获取数据。此存储过程正在使用多个表使用join返回结果: public static List<classname> GetMediaTemp() { var medialist = (from m in Context.sp_Temp() select new classname {

我调用存储过程以使用Linq从数据库获取数据。此存储过程正在使用多个表使用join返回结果:

public static List<classname> GetMediaTemp()
{
var medialist = (from m in Context.sp_Temp() select new classname
                                            {
                                               str_image = m.str_image,
                                                str_image_type = m.str_image_type,
                                                str_photodrawvideo = m.str_photodrawvideo,
                                            }).ToList();
if (medialist.Count > 0)
{
   return medialist
}
}
公共静态列表GetMediaTemp()
{
var medialist=(从Context.sp_Temp()中的m选择新类名
{
str_image=m.str_image,
str_image_type=m.str_image_type,
str_photodrawvideo=m.str_photodrawvideo,
}).ToList();
如果(medialist.Count>0)
{
返回媒体列表
}
}
一切正常,但现在我必须像在调用端一样筛选此对象列表中的数据

List<classname> photoList = GetMediaTemp();//Here i want to filter list on the basis on str_photodrawvideo column.
List photoList=GetMediaTemp()//这里我想根据str_photodrawvideo列过滤列表。
问题:

如何执行此筛选器

提前谢谢。有关更多信息,请让我知道。

您可以按以下操作

var objList = Context.sp_Temp().ToList();
var photoList = objList.Where(o=>o._int_previous == 1).ToList();
var photoList = 
   (from pht in objList 
     let x=>(sp_TempResult)pht
     where x._int_previous == 1 select pht).ToList();

您可以将
对象
强制转换为构建对象列表的类,如下所示

var objList = Context.sp_Temp().ToList();
var photoList = objList.Where(o=>o._int_previous == 1).ToList();
var photoList = 
   (from pht in objList 
     let x=>(sp_TempResult)pht
     where x._int_previous == 1 select pht).ToList();

为什么使用
列表
,而不使用
列表
?如果您绝对不能拥有强类型列表(例如,您需要将许多不同类型的对象放入一个列表中),则
objList.OfType()
可能会有所帮助。
sp\u Temp
返回的类型是什么?为什么需要对象列表?我得到的是{sp_TempResult}类型。@Sunny use
var objList=Context.sp_Temp().ToList()是。这是实现过滤器的正确方法,还可以将返回的“sp_TempResult”类型指定为“List”,而不是使用对象类型。@Damith在我的问题中,我使用的是相同的类型。