private void InitializeDbSets(_DbContext derivedClass)
        {
            IEnumerable <PropertyInfo> properties = derivedClass.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);

            foreach (PropertyInfo item in properties)
            {
                if (item.PropertyType.IsGenericType)
                {
                    Type GenericDefinition = item.PropertyType.GetGenericTypeDefinition();
                    if (GenericDefinition == typeof(_DbSet <>))
                    {
                        #region Create Generic Type
                        Type[] types       = item.PropertyType.GetGenericArguments();
                        Type   constructed = GenericDefinition.MakeGenericType(types);
                        object obj         = Activator.CreateInstance(constructed);
                        #endregion
                        SendProviderAndConnection(obj, constructed);
                        item.SetValue(derivedClass, obj);
                    }
                }
            }
        }
 /// <summary>
 /// Initialize DbSets
 /// </summary>
 ///
 public void Initialize(_DbContext context)
 {
     InitializeDbSets(context);
 }