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