c# - 如何使用 c# mvc 获取 table1 中的所有 id 并保存到 table2?
问题描述
我是这里的新手。我正在使用 c# MVC 5。
我将尝试在 table1 中获取所有状态为“Picked-up”的 id 并保存到 table2
这是我的错误。
无法将“WhereSelectListIterator`2[ChenvelIntl.Core.Domain.Packages.Package,System.Int32]”类型的对象转换为“System.IConvertible”类型。
这是我的代码。但它不起作用。有人可以帮我解决这个问题吗?
var package = _packageService.GetAll().Where(x => x.Status == "Picked-up");
var shipmentItem = new ShipmentItem
{
ShipmentId = model.ShipmentId
};
if (package != null)
{
shipmentItem.PackageId = Convert.ToInt32(package.Select(x => x.Id));
}
_shipmentItemService.Add(shipmentItem);
return RedirectToAction("addshipmentitem");
解决方案
去做就对了 :
var shipmentItems= _packageService.GetAll()
.Where(x => x.Status == "Picked-up")
.Select(x=>new ShipmentItem(){ShipmentId = x.ShipmentId , PackageId=int.Pars(x.Id)});
if(shipmentItems.Any())
_shipmentItemService.Add(shipmentItems);
return RedirectToAction("addshipmentitem");
如果 _shipmentItemService.Add() 只接收一个要添加的 shippingItem,请执行以下操作:
shipmentItems.ToList().ForEach(x=>_shipmentItemService.Add(x))
推荐阅读
- python - django_filters 通过模型搜索 ManyToMany 中的字段
- javascript - 如何正确格式化此对象以使其内部没有重复数据?
- c++ - 从 Visual Studio 2010 构建的 exe 加载时,使用带有 v141_xp 工具链的 Visual Studio 2019 构建的 Dll 无法在 xp 上加载
- r - 高于/低于 R 中的列
- angular - 如何将斜杠(/)作为搜索字符串在 Angular 前端传递到后端
- html - 如何删除页面中间的白条?
- r - R:如何使用列名中的信息来修改 df 中的整个列
- c++ - 在 macOS 上运行“bjam”
- google-sheets - Google Sheet - 如何根据日期更改单元格值
- amazon-web-services - 具有基于 IP 的粘性会话的 UDP 负载均衡器的 Kubernetes