微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从一个表中复制项目并将它们插入到另一个表中 ASP.NET CORE EF

如何解决如何从一个表中复制项目并将它们插入到另一个表中 ASP.NET CORE EF

我想从一张表中取出项目并将它们插入到另一张表中。但我收到此错误

无法从“System.Collections.Generic.List”转换为“ShuttersInc.Models.ConfirmedProducts”

我知道错误意味着什么,我不能使用列表,但我无法想出另一个解决方案,因为如果我不使用列表,我仍然会遇到另一个错误

 string user = User.Identity.Name;
 var itemstocheckOut = _context.CreatedProducts.Where(u => u.User.Equals(user)).ToList(); 

 _context.ConfirmedProducts.AddRange(itemstocheckOut);
 _context.SaveChanges();

PS:CreatedProducts 是我想从中复制项目并将它们插入到另一个ConfirmedProducts 中的表。

解决方法

我认为你最好声明两个上下文;第一个附加到 "CreatedProducts",第二个 os 附加到 "ConfirmedProducts"

接下来,你必须声明一些类似于DTO(Data transfer to object)的东西,它会把第一个类型"CreatedProducts"转换成"ConfirmedProducts"类型,这样你也可以保证错误管理。

我认为您必须应用关注点分离,因此每个上下文必须保持其自己的逻辑,以便您可以更正确地处理对象类型。

希望我的回答对您有所帮助。

您好。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。