0

私は辞書の詳細を持っています var movimiento_det = new MovimientoDet(); ///

   foreach (var detalle in detalles)
                            {
                                movimiento_det.MovimientoDetId =   G.Serial("movimiento_det"); // get me the id of the entity
                                movimiento_det.MovimientoDetId= i;
                                movimiento_det.ProductoId = detalle.Value.ProductoId;
                                movimiento_det.Cantidad = detalle.Value.Cantidad;
                                Vmsb.MovimientoDets.Add(movimiento_det);
                            }
                            Vmsb.SaveChanges();

辞書のすべての値を保存したいのですが、foreach の最後のデータをデータベースに保存するだけです。すべてのデータを保存するにはどうすればよいですか

ef5、およびvs2012を使用

4

1 に答える 1

2

私が見ると、movimiento_detは単一のオブジェクトであることがわかります。各反復は、そのオブジェクトのみを更新します。反復ごとに新しいオブジェクトを作成し、そのオブジェクトを変更する必要があります。

foreach (var detalle in detalles)
{
    var movimiento_det = new MovimientoDet();
    movimiento_det.MovimientoDetId =   G.Serial("movimiento_det"); 
    movimiento_det.MovimientoDetId= i;
    movimiento_det.ProductoId = detalle.Value.ProductoId;
    movimiento_det.Cantidad = detalle.Value.Cantidad;
    Vmsb.MovimientoDets.Add(movimiento_det);
}
Vmsb.SaveChanges();
于 2012-09-04T15:07:22.417 に答える