示例#1
0
        public static DynamicPropertySetter <TObject> CreatePropertySetter <TObject>(params PropertyInfo[] members)
        {
            DynamicMethod setterMethod             = CreatePropertySetterImpl <TObject>(members);
            DynamicPropertySetter <TObject> setter = (DynamicPropertySetter <TObject>)setterMethod.CreateDelegate(typeof(DynamicPropertySetter <TObject>));

            return(setter);
        }
示例#2
0
        internal IdentityField(IdentitySpecification <TEntity> identitySpecification)
        {
            this.identitySpecification = identitySpecification;

            this.nextIdentity = this.identitySpecification.Seed;

            MemberExpression member       = ExpressionHelper.FindMemberExpression(identitySpecification.IdentityColumn.Body);
            PropertyInfo     identityInfo = member.Member as PropertyInfo;

            this.identityType   = identityInfo.PropertyType;
            this.identitySetter = DynamicMethodBuilder.CreatePropertySetter <TEntity>(identityInfo);
            this.identityGetter = this.identitySpecification.IdentityColumn.Compile();
        }