public void GetEdmModel_SetsNullableIffParameterTypeIsNullable() { // Arrange ODataModelBuilder builder = new ODataModelBuilder(); EntityTypeConfiguration <Movie> movie = builder.EntitySet <Movie>("Movies").EntityType; var actionBuilder = movie.Action("Watch"); actionBuilder.Parameter <int>("int"); actionBuilder.Parameter <Nullable <int> >("nullableOfInt"); actionBuilder.Parameter <DateTime>("dateTime"); actionBuilder.Parameter <string>("string"); // Act IEdmModel model = builder.GetEdmModel(); //Assert IEdmEntityContainer container = model.SchemaElements.OfType <IEdmEntityContainer>().SingleOrDefault(); IEdmFunctionImport action = container.FindFunctionImports("Watch").Single(); Assert.False(action.FindParameter("int").Type.IsNullable); Assert.True(action.FindParameter("nullableOfInt").Type.IsNullable); Assert.False(action.FindParameter("dateTime").Type.IsNullable); Assert.True(action.FindParameter("string").Type.IsNullable); }
public NavigationPropertyBindingConfiguration HasManyBinding <TTargetType, TDerivedEntityType>( Expression <Func <TDerivedEntityType, IEnumerable <TTargetType> > > navigationExpression, string entitySetName) where TTargetType : class where TDerivedEntityType : class, TEntityType { if (navigationExpression == null) { throw Error.ArgumentNull("navigationExpression"); } EntityTypeConfiguration <TDerivedEntityType> derivedEntityType = _modelBuilder.Entity <TDerivedEntityType>().DerivesFrom <TEntityType>(); return(_configuration.AddBinding(derivedEntityType.HasMany(navigationExpression), _modelBuilder.EntitySet <TTargetType>(entitySetName)._configuration)); }
public NavigationPropertyBinding HasManyBinding <TTargetType>( Expression <Func <TEntityType, ICollection <TTargetType> > > navigationExpression, string entitySetName) where TTargetType : class { if (navigationExpression == null) { throw Error.ArgumentNull("navigationExpression"); } return(_configuration.AddBinding(EntityType.HasMany(navigationExpression), _modelBuilder.EntitySet <TTargetType>(entitySetName)._configuration)); }