示例#1
0
        internal InsertUpdateQuery(PropertyBinder aBinder, T aData, bool isNullBind, ValueExtractor anExtractor)
            : base(aBinder)
        {
            ValueBinder valuebinder = Database.Current.Factory.GetValueBinder();

            aBinder.BindProperty <T>(

                delegate(PropertyMap aMap)
            {
                valuebinder.BindValue(query.GetStatement(), aMap, aData, isNullBind);
            },
                delegate(IdentityMap aMap)
            {
                setIdentity(aMap.GetColumn());
            },
                delegate(PropertyMap aMap, MemberInfo[] aParentsMembers)
            {
                var field = anExtractor.GetValue(aData, aParentsMembers);
                valuebinder.BindValue(query.GetStatement(), aMap, field, isNullBind);
            });
        }