1
public static Expression<Func<Models.Order, Models.Product,decimal?>> _ExpressionOfGetCounterValue
{
get
{
var _getAmountProxy = Product._ExpressionOfGetAmount;
var _convertQuantityProxy = Product._ExpressionOfConvertQuantity;
Expression<Func<Models.Order, Models.Product, decimal?>> cv =
(order,product) => (
_getAmountProxy.Invoke(
order.Product,
_convertQuantityProxy.Invoke(order.Product,order.Quantity),
order.Product.Price));
return cv;
}
}
public static Expression<Func<Models.Product, decimal?, decimal?>> _ExpressionOfConvertQuantity
{
get
{
Expression<Func<Models.Product, decimal?, decimal?>> convertQuantity =
(product, quantity) => ModelEntities.DoubleToDecimal(
ModelEntities.DecimalToDouble(quantity.Value)
* Math.Pow(10.0, ModelEntities.DecimalToDouble(product.QuantityDecimals))
);
return convertQuantity;
}
}
이 실행, 나는 오류 InvalidOperationException이 또 다른 표현을 호출하는 다른 표현을 호출하는 LINQ 식을 ... 얻을 수있는 매개 변수 : 매개 변수 '주문'이 아니었다 지정한 LINQ to Entities 쿼리 식에서 바인딩됩니다.
이 예외는 _convertQuantityProxy에서 온 것입니다 .Invoke (order.Product, order.Quantity) 어떻게이 호출에 원래 매개 변수 "order"를 전달할 수 있습니까? LinqKit/AsExpandable() 함수를 사용합니다.
감사합니다.
_ExpressionOfConvertQuantity와 관련된 코드를 제공 할 수 있습니까? – daryal
'공공 정적 식> _ExpressionOfConvertQuantity { { 식을 얻을 > convertQuantity = (제품 수량) => ModelEntities.DoubleToDecimal ( (ModelEntities.DecimalToDouble (quantity.Value) * Math.Pow (10.0, ModelEntities.DecimalToDouble (product.QuantityDecimals))) ); return convertQuantity; } } –
user1756338
@ user1756338 : 코드가 속한 질문으로 이동했습니다. 단지 FYI에 불과합니다. –