Я получаю ошибку переполнения стека при попытке найти пользователя с настройкой ниже. Я попытался отключить Lazy Loading и Proxy Creation, но я все еще получаю ошибку.Код Первый EF6 Самонаводящийся многоточий выдает ошибку переполнения стека
public class Authority
{
public int Id { get; set; }
public string Domain { get; set; }
public string Name { get; set; }
public AuthorityTypeEnum Type { get; set; }
public virtual List<Authority> Groups { get; set; }
}
на создания модели:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<ManyToManyCascadeDeleteConvention>();
modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
modelBuilder.Entity<Authority>()
.HasMany(a => a.Groups)
.WithMany().
Map(m =>
{
m.MapLeftKey("UserId");
m.MapRightKey("GroupId");
m.ToTable("UsersGroups");
}
);
base.OnModelCreating(modelBuilder);
}
Контекст конструктор:
public Context()
{
this.Configuration.LazyLoadingEnabled = true;
this.Configuration.ProxyCreationEnabled = true;
}
Это код, который бросает переполнение стека:
var byUserAndDomain = db.Authorities
.FirstOrDefault(a => a.Type == AuthorityTypeEnum.User && a.Domain == MvcApplication.Domain && a.Name == MvcApplication.UserName);
Я только что заменил MvcApplication.Domain и MvcApplication.UserName с константами, и я все равно получаю ту же ошибку переполнения стека. – RoboKitten
Невозможно воспроизвести. –