In my project I am using NHibernate/FluentNHibernate, and I am working with two entities, contracts and services.

This is my contract type:

```
[Serializable]
public partial class TTLCContract
{
    public virtual long? Id { get; set; }
    // other properties here
    public virtual Iesi.Collections.Generic.ISet<TTLCService> Services { get; set; }

    // implementation of Equals
    // and GetHashCode here
}

```

and this is my service type:

```
[Serializable]
public partial class TTLCService
{
    public virtual long? Id { get; set; }
    // other properties here
    public virtual Activity.Models.TTLCContract Contract { get; set; }

    // implementation of Equals
    // and GetHashCode here
}

```

Ok, so as you can see, I want my contract object to have *many* services, and each Service needs to have a reference to the parent Contract.

I am using FluentNhibernate. So my mappings file are the following:

```
public TTLCContractMapping()
{
    Table("tab_tlc_contracts");
    Id(x => x.Id, "tlc_contract_id");
    HasMany(x => x.Services)
            .Inverse()
            .Cascade.All()
            .KeyColumn("tlc_contract_id")
            .AsSet();
}

```

and

```
public TTLCServiceMapping()
{
     Table("tab_tlc_services");

     Id(x => x.Id, "tlc_service_id");
     References(x => x.Contract)
         .Not.Nullable()
         .Column("tlc_contract_id");
}

```

and here comes my problem: if I retrieve the list of all contracts in the db, it works. if I retrieve the list of all services in a given contract, I get a StackOverflowException....

Do you see anything wrong with what I wrote? 
Have I made any mistake?

Please let me know if you need any additional information.

Oh yes, I missed to say... looking at the stacktrace I see the system is loading all the services and then it is loading again the contracts related to those services. 

I don't really have the necessary experience nor ideas anymore to understand what's going on.. so any help would be really really great!

Thanks in advance,
Cheers,
Gianluca.