Я работал в основном с Java и теперь пытался попасть в .net.
I создал эту структуру для проекта
So Sedience Select Select для каждого Layer - Abstracts, Models и Compret. Все интерфейсы для репозитории и услуг находятся в проекте абстракций.using TestTask.Models;
namespace Clients.IRepositories
{
public interface IAddressRepository
{
public long AddAddress(Address address);
public Address GetAddressById(int id);
}
}
< /code>
И по какой -то причине я не могу ссылаться на его из класса AddressRepository, iaddressRepository получает красное подчеркивание, даже хотя они находятся в одном и том же пространстве имен (различия начинаются после точки: нерепозитории против репозиторов): < /p>
using Clients.Context;
namespace Clients.Repositories
{
public class AddressRepository : IAddressRepository
{
private readonly BaseDbContext _dbContext;
public AddressRepository(BaseDbContext dbContext)
{
_dbContext = dbContext;
}
}
}
< /code>
может кто -нибудь объяснить, что я здесь делаю не так? Я не могу напрямую добавить ссылки от клиентов к абстракциям из -за перекрестных ссылок: абстракции уже ссылаются на клиентов, потому что мне нужно, чтобы репозитории возвращали организации, которые расположены в проекте клиентов - и репозитории также находятся в проекте клиентов. Я попытался перенести репозитории в проект моделей и добавление ссылки на проект Abstractions, но это не сработало, у меня была та же проблема. Некоторые люди объяснили мне, что на слое репозитория я должен вернуть объект DTO, и таким образом, не будет никакого перекрестного привязки.
Подробнее здесь: https://stackoverflow.com/questions/796 ... repository