+1  A: 

In most cases involving serialization problems, the simplest thing to do is to translate the data into a simple DTO model that models exactly what you want (and not the bits you don't). So have an MyDtos.Ingredient class that looks like your Whatever.Ingredient class, but which doesn't have the relationship you don't want. LINQ is good at that:

var mapped = from i in ingredients
             select new MyDtos.Ingredient {
                Id = i.Id, Name = i.Name, ...
             };

You could also look at AutoMapper or implicit conversion operators to do the same without having to write too much extra mapping code each time.

Marc Gravell