public HomeMadeFoodData(ApplicationDbContext dbContext, IEfRepositoryFactory repositoryFactory)
        {
            Guard.WhenArgument(dbContext, "dbContext").IsNull().Throw();
            this.dbContext = dbContext;

            Guard.WhenArgument(repositoryFactory, "repositoryFactory").IsNull().Throw();
            this.repositoryFactory = repositoryFactory;
        }
        public static IEfRepositoryFactory GetEfRepositoryFactory(string dataSourceName)
        {
            IEfRepositoryFactory factory = _dataAccessFactoryList.GetOrAdd(dataSourceName, (key) =>
            {
                return(new EfRepositoryFactory(key));
            });

            return(factory);
        }
        public static object GetEfRepository(Type entityType)
        {
            IEfRepositoryFactory factory = GetEfRepositoryFactory(entityType);

            return(factory.GetEfRepository(entityType));
        }
        public static IRepository <T> GetEfRepository <T>() where T : BaseEntity
        {
            IEfRepositoryFactory factory = GetEfRepositoryFactory <T>();

            return(factory.GetEfRepository <T>());
        }