Can't reproduce it. This test should fail if the bug was still there in the first fetch:
[Test]
public void TypeConverterWithExcludedFieldsInCollectionTest()
{
using(DataAccessAdapter adapter = new DataAccessAdapter())
{
EntityCollection toDelete = new EntityCollection();
FamilyCarEntity companyCar1 = new FamilyCarEntity();
companyCar1.CarId = 1;
companyCar1.Brand = "Fiat";
companyCar1.HasDrawHook = true;
companyCar1.Price = 10000M;
toDelete.Add(companyCar1);
Assert.IsTrue(adapter.SaveEntity(companyCar1));
// fetch only the HasDrawHook field.
ExcludeIncludeFieldsList excludedFields = new ExcludeIncludeFieldsList(false);
excludedFields.Add(FamilyCarFields.HasDrawHook);
EntityCollection<FamilyCarEntity> familyCars = new EntityCollection<FamilyCarEntity>();
adapter.FetchEntityCollection(familyCars, excludedFields, null);
Assert.AreEqual(1, familyCars.Count);
Assert.IsTrue(familyCars[0].HasDrawHook.Value);
// fetch the entity again, but now with the drawhook field excluded.
familyCars.Clear();
excludedFields.ExcludeContainedFields = true;
adapter.FetchEntityCollection(familyCars, excludedFields, null);
Assert.AreEqual(1, familyCars.Count);
Assert.IsFalse(familyCars[0].HasDrawHook.HasValue);
Assert.IsNull(familyCars[0].HasDrawHook);
// now fetch the field
adapter.FetchExcludedFields(familyCars, excludedFields);
Assert.IsTrue(familyCars[0].HasDrawHook.Value);
adapter.DeleteEntityCollection(toDelete);
}
}
as the hasdrawhook field is at the end of the entity and excluding everything else would cause the bug to pop up, but the field is correctly read.
(test on oracle with type converter on hasdrawhook field. Database type has no effect on this)