如何使用 LINQ 和 EF 将记录复制到另一个表及其关系

Posted

技术标签:

【中文标题】如何使用 LINQ 和 EF 将记录复制到另一个表及其关系【英文标题】:How to copy record to another table with its relationship using LINQ and EF 【发布时间】:2012-02-22 16:45:24 【问题描述】:

我需要将警报详细信息复制到案例详细信息及其与客户、帐户等的关系,这与警报相关,作为对多个客户的一个警报。我试过这种方式,但它给了我一个错误 “EntityCollection 已经被初始化。InitializeRelatedCollection 方法只能在对象图的反序列化过程中被调用来初始化一个新的 EntityCollection。”

 if (alertDetails.IncidentAccounts != null)
            caseDetails.IncidentAccounts = alertDetails.IncidentAccounts;
        if (alertDetails.IncidentCustomers != null)
            caseDetails.IncidentCustomers = alertDetails.IncidentCustomers;
        if (alertDetails.IncidentTransactions != null)
            caseDetails.IncidentTransactions = alertDetails.IncidentTransactions;
        if (alertDetails.IncidentCheckFraudTransactions != null)
            caseDetails.IncidentCheckFraudTransactions = alertDetails.IncidentCheckFraudTransactions;

【问题讨论】:

【参考方案1】:

如果所有这些对象都是集合,则需要相应地复制它们:

caseDetails.IncidentAccounts.AddRange( alerdDetails.IncidentAccounts )

但是如果没有看到模型定义真的很难说。

【讨论】:

感谢您的建议。但是没有方法 EntityCollection 没有方法 AddRange(); 如果没有分别看到 caseDetails 和 alertDetails 对象的实际模型定义,我真的很难知道...

以上是关于如何使用 LINQ 和 EF 将记录复制到另一个表及其关系的主要内容,如果未能解决你的问题,请参考以下文章

如何从一个表中复制一个记录集并添加到另一个表中?

根据是/否字段的值将记录从一个表复制到另一个表

如何在mysql phpmyadmin中每天将记录从一个表复制到另一个表

SQL Server如何将一个巨大的表数据复制到另一个表中

VF中如何将一个表的内容复制到另一个已经存在的表中

如何将一个数据库中的一个表复制到另一个数据库中去