gpt4 book ai didi

c# - 使用 ADO.NET Entity Framework 时出错

转载 作者:行者123 更新时间:2023-11-30 12:36:54 25 4
gpt4 key购买 nike

我想将列表转换为 EntityCollection。

List<T> x = methodcall();
EntityCOllection<T> y = new EntityCollection<T>();

foreach(T t in x)
y.Add(t);

我收到这个错误。

The object could not be added to the EntityCollection or EntityReference. An object that is attached to an ObjectContext cannot be added to an EntityCollection or EntityReference that is not associated with a source object.

有人知道这个错误吗?

最佳答案

听起来 x 是 ObjectContext 查询的结果。每个 ObjectContext 跟踪它从数据库中读取的实体以启用更新方案。它跟踪实体以了解它们何时(或是否)被修改,以及哪些属性被修改。

术语是实体附加到 ObjectContext。在您的情况下,x 中的实体仍然附加到具体化它们的 ObjectContext,因此您不能同时将它们添加到另一个 EntityCollection。

如果您先Detach 它们也许可以做到这一点,但如果您这样做,第一个 ObjectContext 将停止跟踪它们。如果您不想再次更新这些项目,这不是问题,但如果您以后需要更新它们,则必须再次附加它们。

关于c# - 使用 ADO.NET Entity Framework 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2382161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com