奇妙な問題があります。私は、後でいくつかのことを繰り返す必要があることを期待する方法をIEnumerable
持っdynamic
ています。
メソッドを呼び出すコードは次のとおりです。
GuardarControlCristalesPedidos(
items.Select(o => new {o.Id, o.CantidadRecibida, o.Cerrado}));
このメソッドは次のようにコード化されます
public static void GuardarControlCristalesPedidos(IEnumerable itemsAGuardar)
{
var session = FactoryProvider.GetCurrentSession();
using (var t = session.BeginTransaction())
{
foreach (dynamic item in itemsAGuardar)
{
var cItem = session.Load<PedidoItem>(item.Id);
cItem.CantidadRecibida = item.CantidadRecibida;
cItem.Cerrado = item.Cerrado;
session.Save(cItem);
}
t.Commit();
}
}
今、私が抱えている問題は、プログラムがスローに失敗することです'item.Id' produjo una excepción de tipo 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException'
しかし、奇妙なことにdynamic
、デバッガーを使用して変数にアクセスすると、問題ないように見えます(IDEはメンバーを正常に表示しますが、アクセスしようとすると失敗しますitem.Id
ここで何が起きてるの?