2016-06-24 2 views
0

Нет exeption.Just хочу знать, хорошо это или нет.Fluent Nhibernate бесконечный цикл

Медицина Карта:

public MedicineMap() 
    { 
     Id(x => x.Id); 
     Map(x => x.Name); 
     Map(x => x.Date); 
     HasManyToMany(x => x.Companies).Cascade.All(); 
     } 

компания Карта:

public CompanyMap() 
    { 
     Id(x => x.Id); 
     Map(x => x.CompanyName); 
     HasManyToMany(x => x.Medicines).Cascade.All(); 
    } 

Когда им пытаются получить "лекарство" от основания она вернула меня бесконечный цикл. так:

enter image description here

Так что есть лекарство подается в компании и, наоборот, поле компании в медицине бесконечно.

+0

В чем проблема? –

+0

Существует не exeption.Just хочу знать, хорошо это или нет. –

+1

Это не nhibernate конкретный. Если у вас есть два объекта, ссылающиеся друг на друга, всегда будут такие бесконечные цепи. В этом нет ничего плохого. –

ответ

0

всякий раз, когда у меня есть отношения «многие-ко-многим», у меня всегда был обратный Inverse() на один из Карт, и я определяю имя промежуточной таблицы, если вам нужно его называть. Ваш код будет оставаться так:

public MedicineMap() 
{ 
    Id(x => x.Id); 
    Map(x => x.Name); 
    Map(x => x.Date); 
    HasManyToMany(x => x.Companies) 
     .Cascade.All() 
     .Inverse() 
     .Table("MedicineCompany"); 
} 

и

public CompanyMap() 
{ 
    Id(x => x.Id); 
    Map(x => x.CompanyName); 
    HasManyToMany(x => x.Medicines) 
     .Cascade.All() 
     .Table("MedicineCompany"); 
} 

Решает ли это проблему?

Если нет, пожалуйста, поделитесь своим кодом, где вы пытаетесь вернуть лекарство, возможно, мы сможем вам помочь, чтобы не получить бесконечный цикл.

Смежные вопросы