如何使用ExpressionVisitor更改表达式,添加更多属性?

时间:2015-05-01 18:31:30

标签: c# .net linq expressionvisitor

我有一个带有两个属性的表达式,我需要在运行时更改此表达式以添加更多项目。

    public class ProductViewModel
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Barcode { get; set; }
    }

    public class Program
    {
        public void Main()
        {
            var query1 = db.product.Select(s => new ProductViewModel
            {
                Id = s.Id,
                Name = s.Name
            });

            // Here I need pass this query to a ExpressionVisitor.
        }
    }

在将query1传递给访问者之后,我希望能给我一个表达式:

s => new ProductViewModel { Id = s.Id, Name = s.Name, BarCode = s.BarCode }

BarCode结果时,需要返回默认值,例如:string.Empty

我怎么做?我搜索了互联网上的任何例子,但我一无所获。

0 个答案:

没有答案