首页 > 解决方案 > 如何使用 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");

标签: c#asp.netasp.net-mvclinqasp.net-mvc-5

解决方案


去做就对了 :

     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))

推荐阅读