Эта модель упрощена, используется только для демонстрации.
В моём приложении получено:
Данные
public class Product
{
public Guid Id { get; set; }
public string Name { get; set; }
public Category Category { get; set; }
}
public class Category
{
public Guid Id { get; set; }
public string Name { get; set; }
}
Репозиторий
public interface IRepository<T>
where T : class
{
T Add(T entity);
T Remove(T entity);
IQueryable<T> GetAll();
int Save();
}
public class ProductRepository : IRepository<Product>
{
public Product Add(Product entity) { ... }
public Product Remove(Product entity) { ... }
public IQueryable<Product> GetAll() { ... }
public int Save() { ... }
}
public class CategoryRepository : IRepository<Category>
{
public Category Add(Category entity) { ... }
public Category Remove(Category entity) { ... }
public IQueryable<Category> GetAll() { ... }
public int Save() { ... }
}
Службы
public interface ICategoryService
{
Category Add(Guid gidProduct, Category category);
}
public class CategoryService : ICategoryService
{
public Category Add(Guid gidProduct, Category category){ ... } //Problem here
readonly IRepository<Category> _repository;
public CategoryService(IRepository<Category> repository) //Problem here
{
_repository = repository;
}
}
Поскольку у меня есть хранилище для каждого класса, когда мне нужна информация из другого хранилища в моем сервисе, что мне делать?
В приведенном выше примерев моем слое обслуживания у меня есть метод Add
продукта (где я нашел код для него) и category
.
Проблема в том, что я делаю поиск в репозитории продуктов длявосстановить его, но в моей категории обслуживания нет хранилища продуктов. , как решить эту проблему?