[c#]转换表达式<>> 表达<>>

标签: WCF Linq .Net C#
发布时间: 2017/2/28 22:38:34
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我使用表达式树的序列化程序发送表达 < FuncDTO,bool > > WCF 服务和

我的存储库使用域类型。我想申请这个表达我的存储库

Expression<Func<UserDto,bool>> expression = new ExpressionSerializer().Deserialize<Func<UserDto, bool>>(xmlElement);
var addressBookEntries = addressBooksRepository.Where(expression); //accepts Expression<Func<UserDomain,bool>>

如何解决这个问题?

解决方法 1:

我用动态 linq 和它解决了我的问题,只有小问题属性名称必须等于。我转换动态 linq 为字符串,并发送它彻底 wcf 服务和使用它作为字符串

using System.Linq;
using System.Linq.Dynamic;

    public ICollection<UserDto> GetUsersByFilter(string filter)
    {
        var addressBooksRepository = new AddressBooksRepository();
        var addressBookEntries = addressBooksRepository.GetAll().Where(filter);
                //return data
    }
赞助商