У меня возникли проблемы с пониманием и внедрением многих-многих репликации с использованием API-интерфейсов FLuent и EF Core.EF Core для многих конфигураций, не работающих с Fluent API
Я посмотрел на this вопрос и установить свои отношения именно так, как это, но я получаю следующее сообщение об ошибке:
Error CS1061 'CollectionNavigationBuilder' does not contain a definition for 'WithMany' and no extension method 'WithMany' accepting a first argument of type 'CollectionNavigationBuilder' could be found (are you missing a using directive or an assembly reference?)
Это мое намерение. У меня есть клиент, у которого много рабочих мест. Я должен иметь возможность получить все задания, связанные с этим клиентом. EF должен создать таблицу соединения в фоновом режиме ...
Вот мои классы:
public class Client : IEntityBase
{
public int Id { get; set; }
public int? JobId { get; set; }
public ICollection<Job> Jobs { get; set; }
}
public class Job : IEntityBase
{
public int Id { get; set; }
}
//my interface
public interface IEntityBase
{
int Id { get; set; }
}
EDIT Вот Fluent API я попробовал, и где я получаю ошибку на «.withMany»
modelBuilder.Entity<Client>()
.HasMany(p => p.Jobs)
.WithMany(p => p.clients)
.Map(m =>
{
m.MapLeftKey("ClientId");
m.MapRightKey("JobId");
m.ToTable("ClientJob");
});
Я использую общий шаблон хранилища согласно блогу Криса Сакелла. Вот код для извлечения клиентов:
IEnumerable<Client> _clients = _clientRepository
.AllIncluding(s => s.Creator, s => s.Jobs, s => s.State)
.OrderBy(s => s.Id)
.Skip((currentPage - 1) * currentPageSize)
.Take(currentPageSize)
.ToList();
и я использую общий код в соответствии с:
public virtual IEnumerable<T> AllIncluding(params Expression<Func<T, object>>[] includeProperties)
{
IQueryable<T> query = _context.Set<T>();
foreach (var includeProperty in includeProperties)
{
query = query.Include(includeProperty);
}
return query.AsEnumerable();
}
Как настроить это так, я могу получить рабочие места, а также с помощью includeproperty согласно заявление Allincluding выше?
Взгляните на документацию EF Core - [Отношения] (https://docs.microsoft.com/en-us/ef/core/modeling/relationships) - ** Много-ко-многим ** –