Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用实体遍历join语句的结果时出错_C#_Entity Framework - Fatal编程技术网

C# 使用实体遍历join语句的结果时出错

C# 使用实体遍历join语句的结果时出错,c#,entity-framework,C#,Entity Framework,我正在使用实体框架,并尝试连接。连接执行得很好,但是当我尝试循环我的结果时,我得到了一个错误。见下文 var items = from a in db.ActivityLogs from v in db.Vehicles where (a.PlateID1 == v.PlateID || a.PlateID2 == v.PlateID) && v.Alerted ==

我正在使用实体框架,并尝试连接。连接执行得很好,但是当我尝试循环我的结果时,我得到了一个错误。见下文

 var items = from a in db.ActivityLogs
                            from v in db.Vehicles
                            where (a.PlateID1 == v.PlateID || a.PlateID2 == v.PlateID) && v.Alerted == true
                            select new { a, v };
这执行得很好,然后我得到了错误

其他信息:无法将类型为“f_uAnonymousType0”2[DB.ActivityLog,DB.Vehicle]”的对象强制转换为类型为“DB.ActivityLog”

关于以下代码

foreach (ActivityLog l in items)

提前感谢

您已投射到匿名类型,因此无法将其投射到活动日志中

var items = (from a in db.ActivityLogs
                        from v in db.Vehicles
                        where (a.PlateID1 == v.PlateID || a.PlateID2 == 
                        v.PlateID) && v.Alerted == true
                        select new { a, v }).ToArray();

foreach (var item in items)
{
    Console.writeLine(item.a);
    Console.writeLine(item.v);

}


new{a,v}
不是一个
ActivityLog
。您的类应该有属性来容纳a&v。它的语法不正确。这是一个伪代码。如果您的活动日志是DTO类型的类,则可以使用它所需的属性。
 var items = (from a in db.ActivityLogs
                        from v in db.Vehicles
                        where (a.PlateID1 == v.PlateID || a.PlateID2 == 
                        v.PlateID) && v.Alerted == true
                        select new ActivityLog
                        { 
                           A= a, // Pseudo code
                           V = v, // Pseudo code map to essential properties
                        }).ToArray();

foreach (ActivityLog l in items)