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# 转换错误无法将类型转换为System.Data.Objects.DataClasses.EntityCollection_C#_Entity Framework_Casting - Fatal编程技术网

C# 转换错误无法将类型转换为System.Data.Objects.DataClasses.EntityCollection

C# 转换错误无法将类型转换为System.Data.Objects.DataClasses.EntityCollection,c#,entity-framework,casting,C#,Entity Framework,Casting,我试图用Entity Framework更新连接表,但我没有走多远,因为我得到了一个转换错误: 无法将类型转换为System.Data.Objects.DataClasses.EntityCollection 因此,当我试图将乘客对象传递给飞行实体时,它无法进行投射 以下是表格结构: Flight table - FlightID PK Passenger Table - Passenger ID PK Passenger_Flight table - PassengerID PK,Flight

我试图用Entity Framework更新连接表,但我没有走多远,因为我得到了一个转换错误:

无法将类型转换为System.Data.Objects.DataClasses.EntityCollection

因此,当我试图将乘客对象传递给飞行实体时,它无法进行投射

以下是表格结构:

Flight table - FlightID PK
Passenger Table - Passenger ID PK
Passenger_Flight table - PassengerID PK,FlightID PK


        if (isValid())
        {
            Passenger cpass = ((Passenger)passengerIDComboBox.SelectedItem);

            Flight newflight = new Flight { 

                Rego = planeRegoComboBox.SelectedItem.ToString(),
                DepartureTime = departureDateTimePicker.Value,
                ArrivalTime = arrivalDateTimePicker.Value,
                DepartureLocation = departureLocationComboBox.GetItemText(departureLocationComboBox.SelectedItem),
                ArrivalLocation = arrivalLocationComboBox.GetItemText(arrivalLocationComboBox.SelectedItem),

                Passengers = cpass // this is the problem. Cannot convert type to System.Data.Objects.DataClasses.EntityCollection

        };
            flightEntity.Flights.AddObject(newflight);

            Validate();
            //flightEntity.Passengers.AddObject(pass);
            flightEntity.SaveChanges();
            refreshItems();

        }

提前谢谢。我希望我提供了足够的信息。此问题链接到

如果乘客是一个集合,您是否应该先创建
newFlight
,然后再执行
newFlight.patients.Add(CPAS)
?否则,您希望如何将单个乘客分配给乘客集合?您好,谢谢。newFlight.Passators.Add(CPAS)给了我以下错误:一个实体对象不能被多个IEntityChangeTracker实例引用。我相信乘客是一个实体参考集合。因此,添加一个乘客对象,然后在连接表中创建关系。如果这不是正确的术语,请纠正我。如果实体已被跟踪,请尝试
。附加
不走运。错误消息为:当与此相关端关联的源对象处于添加、删除或分离状态时,“附加”不是有效的操作。当CPAS似乎已经被其他上下文跟踪时,使用“无跟踪合并”选项加载的对象总是被删除。一个实体不能同时被多个上下文跟踪。