csharpnet
csharpnet

Reputation: 55

Code-First: How to create a many to many relationship where the source class/table is the target one as well?

Can someone please post an example on how to create a many to many relationship where the source class is also the target one, using code-first ?

Something like:

Toys * <-----> * Toys

Thank you.

Nuno Senica

Upvotes: 1

Views: 196

Answers (1)

Michael Cox
Michael Cox

Reputation: 1301

I don't think this is possible with EF Code First. As a workaround, you could create the mapping table yourself:

public Toy
{
    public int ToyID {get; set;}
    public ICollection<ToyMapping> Toys {get; set;}
}

public ToyMapping
{
    public int ToyOneID {get; set;}
    public int ToyTwoID {get; set;}

    public ICollection<Toy> ToyOnes {get; set;}
    public ICollection<Toy> ToyTwos {get; set;}
}

I'm not sure the actual use-case for this is, otherwise I would have made better named properties.

Upvotes: 0

Related Questions