Mercurial > pub > bltoolkit
diff Extensions/JointureAddOn/Mapping/DataBindingObjectMapper.cs @ 0:f990fcb411a9
Копия текущей версии из github
author | cin |
---|---|
date | Thu, 27 Mar 2014 21:46:09 +0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Extensions/JointureAddOn/Mapping/DataBindingObjectMapper.cs Thu Mar 27 21:46:09 2014 +0400 @@ -0,0 +1,46 @@ +#region + +using System; +using BLToolkit.Data; +using BLToolkit.Reflection; + +#endregion + +namespace BLToolkit.Mapping +{ + public class DataBindingObjectMapper : ObjectMapper + { + private readonly Type _type; + + public DataBindingObjectMapper(Type type) + { + _type = type; + } + + public override object CreateInstance() + { + return TypeFactory.DataBindingFactory.Create(_type); + } + + public override object CreateInstance(InitContext context) + { + return CreateInstance(); + } + } + + public class FullDataBindingObjectMapper : FullObjectMapper + { + public FullDataBindingObjectMapper(DbManager db, bool ignoreLazyLoading) : base(db, ignoreLazyLoading, FactoryType.LazyLoadingWithDataBinding) + { + } + + public override object CreateInstance() + { + object result = ContainsLazyChild + ? TypeFactory.LazyLoadingWithDataBinding.Create(PropertyType, this, LoadLazy) + : base.CreateInstance(); + + return result; + } + } +} \ No newline at end of file