Example #1
0
        public AggregateFinder()
        {
            var idMember = DocumentMapping.FindIdMember(typeof(T));

            var docParam = Expression.Parameter(typeof(T), "doc");
            var idParam  = Expression.Parameter(typeof(Guid), "id");

            var member = Expression.PropertyOrField(docParam, idMember.Name);
            var assign = Expression.Assign(member, idParam);

            var lambda = Expression.Lambda <Action <T, Guid> >(assign, docParam, idParam);

            _setId = ExpressionCompiler.Compile <Action <T, Guid> >(lambda);
        }
Example #2
0
        public StringIdentifiedAggregateFinder()
        {
            var idMember = DocumentMapping.FindIdMember(typeof(T));

            var docParam = Expression.Parameter(typeof(T), "doc");
            var keyParam = Expression.Parameter(typeof(string), "key");

            var member = Expression.PropertyOrField(docParam, idMember.Name);
            var assign = Expression.Assign(member, keyParam);

            var lambda = Expression.Lambda <Action <T, string> >(assign, docParam, keyParam);

            _setId = ExpressionCompiler.Compile <Action <T, string> >(lambda);
        }