public void InsertSimpleProperties()
 {
     const string type = "BaseClass";
     var types = FluentConfiguration.Start().DefaultIdProperty(IdentityField).
         DefaultDiscriminatorColumnName(DefaultDiscriminator).AddType<BaseClass>(z => z.AllProperties()).GenerateTypeMappings();
     var provider = new TestProvider(types);
     var queryBuilder = new QueryBuilder(provider);
     var plan = queryBuilder.GetInsert(type);
     Assert.AreEqual(1, plan.Parts.Count());
     Assert.AreEqual("INSERT INTO [BaseClass] ([_dscr], [ObjectId], [Prop1]) VALUES(@p0, @p1, @p2)", plan.Parts.First().SqlString);
 }
 public void InsertPrimitiveListProperties()
 {
     const string type = "ClassWithIntArr";
     var types = FluentConfiguration.Start().DefaultIdProperty(IdentityField)
         .DefaultDiscriminatorColumnName(DefaultDiscriminator)
        .AddTypeAuto<ClassWithIntArr>()
        .GenerateTypeMappings();
     var provider = new TestProvider(types);
     var queryBuilder = new QueryBuilder(provider);
     var plan = queryBuilder.GetInsert(type);
     Assert.AreEqual(2, plan.Parts.Count());
     Assert.AreEqual("INSERT INTO [ClassWithIntArr] ([_dscr], [ObjectId]) VALUES(@p0, @p1)", plan.Parts.First().SqlString);
     Assert.AreEqual("INSERT INTO [ClassWithIntArr_Arr] ([ParentId], [Value], [Index]) VALUES(@p0, @p1, @p2)", plan.Parts.Last().SqlString);
 }