I have these two entities:

```
public class Contact : PrimaryKey
{
    public ICollection<Order> OrdersPlaced {get;set;}
}

public class Order : PrimaryKey
{
    public Contact OrderedBy {get;set;}
    public Guid OrderedById {get;set;}
}

```

`PrimaryKey` is my key class:

```
public abstract class PrimaryKey
{
    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [HiddenInput(DisplayValue=false)]
    public Guid Id { get; set; }
}

```

in my model builder in the context I do this:

```
modelBuilder.Entity<Contact>()
    .HasMany(c => c.OrdersPlaced)
    .WithRequired(o => o.OrderedBy)
    .WillCascadeOnDelete();

```

I want to be able to delete a contact and all the orders associated be deleted! 
However, when I delete an Order I dont want to delete a contact.

What i've done throws a an error, saying the foreign key may cause cycles of deleting...

should i have done this:

```
modelBuilder.Entity<Order>()
    .HasRequired(o => o.OrderedBy)
    .WithMany(c => c.OrdersPlaced)
    .WillCascadeOnDelete(false);

```