public MappingManyToManyView( ManyToManyNavigation manyToManyNavigation, ManyToManyStoreTable manyToManyStoreTable, ManyToManyKeys manyToManyKeys) { this.manyToManyNavigation = manyToManyNavigation; this.manyToManyStoreTable = manyToManyStoreTable; this.manyToManyKeys = manyToManyKeys; }
public void ManyToManyNavigationShouldBeCorrect() { var entityTypeBuilder = new EntityTypeBuilder(); var posts = entityTypeBuilder .Name("My.Posts") .WithProperty <int>("ID") .WithKeys("ID") .Build(); var tags = entityTypeBuilder .Name("My.Tags") .WithProperty <int>("ID") .WithKeys("ID") .Build(); var builder = new NavigationPropertyBuilder(); var postsToTags = builder .FromRole(posts, RelationshipMultiplicity.Many) .ToRole(tags, RelationshipMultiplicity.Many) .Map("ID", "Post_ID") .Build(); var tagsToPosts = builder .FromRole(tags, RelationshipMultiplicity.Many) .ToRole(posts, RelationshipMultiplicity.Many) .Map("ID", "Tag_ID") .WithSameRelationshipAs(postsToTags) .Build(); posts.AddNavigationProperty(postsToTags); tags.AddNavigationProperty(tagsToPosts); var testSubject = new ManyToManyNavigation(tagsToPosts); testSubject.HasMany.Name.Should().Be("Posts"); testSubject.HasManyEntity.Should().BeSameAs(tags); testSubject.HasManyEndMember.Name.Should().Be("Tags"); testSubject.WithMany.Name.Should().Be("Tags"); testSubject.WithManyEntity.Should().BeSameAs(posts); testSubject.WithManyEndMember.Name.Should().Be("Posts"); }