Ссылка на EntityBase и IAggregateRoot не найдена?
Я пытаюсь создать репозиторий, поэтому я нашел, что эта ссылка очень хорошо объяснена, но я получил ошибку
Ошибка 1 Не удалось найти тип или имя пространства имен EntityBase (отсутствует директива using или ссылка на сборку?)
Ошибка 2 Не удалось найти тип или имя пространства имен 'IAggregateRoot' (отсутствует директива using или ссылка на сборку?)
Мой код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Linq.Expressions;
namespace DapperAndSQLite
{
public interface IRepository<T> where T : EntityBase, IAggregateRoot
{
void Add(T item);
void Remove(T item);
void Update(T item);
T FindByID(Guid id);
IEnumerable<T> Find(Expression<Func<T, bool>> predicate);
IEnumerable<T> FindAll();
}
}
Вот скриншот (чтобы показать сборку или чего-то не хватает)
Я что-то пропустил?
2 ответа
Решение
1) Вы никогда не должны размещать интерфейсы репозитория в проектах инфраструктуры, они принадлежат домену.
2) Эта EntityBase и IAggregateRoot должны оставаться внутри проекта Domain.
3) Вы должны добавить ссылку на проект домена в Infrastructure.DapperAndSQLite и реализовать эти репозитории.