public void FK_from_base_should_throw() { var modelBuilder = new AdventureWorksModelBuilder(); modelBuilder.Ignore<PrincipalBase>(); modelBuilder.Entity<DependentBase>().Ignore(d => d.PrincipalNavigation); modelBuilder.Entity<DerivedDependent>() .HasRequired(d => d.DerivedPrincipalNavigation) .WithMany(p => p.DerivedDependentNavigations) .HasForeignKey(d => d.PrincipalNavigationId); Assert.Throws<InvalidOperationException>( () => BuildMapping(modelBuilder)) .ValidateMessage("ForeignKeyPropertyNotFound", "PrincipalNavigationId", "DerivedDependent"); }
public void PK_as_FK_with_many_to_one_should_throw() { var modelBuilder = new AdventureWorksModelBuilder(); modelBuilder.Ignore<PrincipalBase>(); modelBuilder.Entity<DerivedDependent>() .HasRequired(d => d.DerivedPrincipalNavigation) .WithMany(p => p.DerivedDependentNavigations) .HasForeignKey(d => d.Id); Assert.Throws<ModelValidationException>( () => BuildMapping(modelBuilder)); }
public void FK_from_base_should_throw() { var modelBuilder = new AdventureWorksModelBuilder(); modelBuilder.Ignore<PrincipalBase>(); modelBuilder.Entity<DependentBase>().Ignore(d => d.PrincipalNavigation); modelBuilder.Entity<DerivedDependent>() .HasRequired(d => d.DerivedPrincipalNavigation) .WithMany(p => p.DerivedDependentNavigations) .HasForeignKey(d => d.PrincipalNavigationId); Assert.Equal(Strings.ForeignKeyPropertyNotFound("PrincipalNavigationId", "DerivedDependent"), Assert.Throws<InvalidOperationException>(() => modelBuilder.BuildAndValidate( ProviderRegistry.Sql2008_ProviderInfo)).Message); }