174 Commits (5104064f23aa5b1423e43ed4b532ecccc769187e)
 

Author SHA1 Message Date
rstam 5104064f23 Fixed typos in README URLs. 15 years ago
rstam cc3abc4661 Added README.md. 15 years ago
craiggwilson 9dcbb55b6b Implemented CombGuidGenerator and added unit tests for all the Id generators. 15 years ago
rstam c35dcfeabc Fixed CSHARP-81. The IdPropertyMap for a class map should come from the highest class possible in the inheritance hierarchy. 15 years ago
rstam 4d1fae0f6d Removed DriverSetup from the Visual Studio 2008 solution because it only builds in Visual Studio 2010 now (not sure why? upgade not backward compatible?). Added lib directory to dependencies/NUnit to hold the minimal set of files needed to compile the solution, so now you don't need to install NUnit just to do a build (you will have to install it to actually run the unit tests, unless you use a different test runner). 15 years ago
rstam ffc11dc220 Added solution files for Visual Studio 2008 and 2010 (they share the same set of project files). 15 years ago
rstam ef50bbefa1 Fixed CSHARP-78. Default UseCompactRepresentation to true for primitive properties. Added PushBookmark and PopBookmark to BsonReader to support reading ahead. Fixed handling of discriminators in BsonClassMapSerializer. FindString in BsonReader now actually moves the position (use bookmarks now to read ahead). 15 years ago
rstam 5024e87639 Changed BsonIdAttribute to take optional IdGenerator parameter. Changed PropertyMap to allow customizing the Id generator for a property. 15 years ago
rstam a3bc1ee082 Changed GeneralEnumSerializer to support UseCompactRepresentation (compact is int/long, full is string). Added unit tests for serializing [Flags] enums. 15 years ago
rstam 0999243603 Fixed CSHARP-77 by improving Id detection algorithm but also by fixing how documents without an Id property are handled. Added DocumentHasIdProperty, DocumentHasIdValue and GenerateDocumentId to IBsonSerializer and IBsonSerializable. Added new IBsonIdGenerator interface and registration/lookup methods for Id generators to BsonSerializer. Implemented Id generators for ObjectId and Guid. Moved lots of common code to BuilderBase. Fixed Insert and Save methods to properly detect and/or assign Ids to documents. 15 years ago
rstam 668110faf6 Added initial version of DriverOnlineTests project. These tests differ from the tests in DriverUnitTests because they connect to localhost to test against a live database. 15 years ago
rstam 3900d3f0db Renamed MongoDB.BsonLibrary namespace to MongoDB.Bson and MongoDB.CSharpDriver to MongoDB.Driver (Library was redundant and VB users might not want to see CSharp in the namespace). Renamed Bson static class BsonConstants (because it a class can't have the same name as the namespace it is in). 15 years ago
rstam 20959847e5 Fixed error message in exception. 15 years ago
rstam 3082b0f11a Implemented MongoDBRef class and FetchAs methods in MongoServer and MongoDatabase. Unit tests to follow in a new solution (CSharpDriverLocalhostTests). 15 years ago
rstam 4528769380 CSHARP-76. Fixed overload of MongoCursor.SetFields that wasn't working. 15 years ago
rstam 79e6c4a8d0 Attempted to reproduce CSHARP-74 without success. 15 years ago
rstam d53a608066 Call LookupClassMap from LookupActualType to make sure any "known types" on the nominalType have been registered. 15 years ago
rstam 9931ea8226 Implemented BsonKnownTypeAttribute. 15 years ago
rstam f7a8b726a6 Added BsonBaseSerializer to cut down on amount of duplicated code. Added AssignId to IBsonSerializer and IBsonSerializable. Used new AssignId method in MongoCollection InsertBatch and Save methods (so now they can assign an Id to any class not just BsonDocument). 15 years ago
rstam 64ffa4c559 Implemented serialization of enums. 15 years ago
rstam a9e03720f6 Implemented serialization of arrays. Renamed BsonDefaultSerializer to BsonClassMapSerializer because it only works with class maps and is not the default in all situations. 15 years ago
rstam 234a76085b Added unit tests for BsonBuffer reading and writing different kinds of values across chunk boundaries. 15 years ago
rstam 0c0dafca2d Fixed CSHARP-71. Bug occurs when an element name in a large document straddles a chunk boundary. 15 years ago
rstam 5994ea3ff8 Added some unit tests to attempt to reproduce CSharp-71. However, no luck yet actually reproducing it. 15 years ago
rstam 9afe4aa3ff Reorganized folder structure in BsonLibraryUnitTests to mirror that of BsonLibrary. 15 years ago
rstam 923bdf58d8 Major overhaul of serialization machinery to support plugging in a new serialization provider. The default serialization support has been restructured as a plugin. See IBsonSerializationProvider and IBsonSerializer (as well as the BsonSerializer static class that handles registration and routing of serializers). 15 years ago
rstam a35a471a85 Reset AssemblyVersion to floating build number. 15 years ago
rstam 533db0034d BUMP 0.5.0.3940 15 years ago
rstam d88a1175ef Minor changes. 15 years ago
rstam a45bce5239 Moved condition parameter of Add to end so that name and value will consistently be the first two arguments. 15 years ago
rstam c645758ac0 Changed BsonClassMapSerializer to honor IgnoreExtraElements, IgnoreIfNull and SerializeDefaultValue. 15 years ago
rstam f8ce7f6ad0 Implemented BsonDefaultValue, BsonDiscriminator, BsonElement, BsonId, BsonIgnore, BsonIgnoreIfNull, BsonRequired and BsonUseCompactRepresentation attributes and modified AutoMap to handle them (still need to modify BsonClassMapSerializer). 15 years ago
rstam cda258e347 Rename a few more fluent interface methods that I missed. Put MongoCursor methods in order. 15 years ago
rstam c42a5eb76c Renamed all Xyz fluent interface methods to SetXyz to conform to .NET naming conventions and to free up the Xyz name to be used as a property. 15 years ago
rstam 43260bfaf1 Added static property Empty to ObjectId and BsonObjectId. 15 years ago
rstam 8273dd74e8 Simplified implementation of DefaultPropertySerializer. 15 years ago
rstam 03e625d8a5 Implemented DefaultPropertySerializer. Added more unit tests for serializing interfaces and polymorphic classes. 15 years ago
rstam 5d76ccb8fb Renamed some overloads of Find, FindAll and FindOne to FindAs, FindAllAs, and FindOneAs to avoid ambiguities between similar overloads. 15 years ago
rstam a039bb3823 More unit tests in SerializePolymorphicTests. 15 years ago
rstam 056ecea11a Remove mapping from Type to discriminators. It's not needed. 15 years ago
rstam 6ac0d7f141 Fixed bug in GenericEnumerablePropertySerializer when serializing C# null. Added unit tests for comparing BsonValue to bool, int, long and double. 15 years ago
rstam 2f52b558ca Implemented mappings between short human readable discriminators and .NET types (to avoid using the outrageously long and platform specific AssemblyQualifiedName as discriminators). Ambigous discriminators are disambiguated by context using the target type. 15 years ago
rstam efeb2b1814 Added SkipElement to BsonReader. Changed BsonClassMapSerializer to skip unexpected elements (consequence of unexpected element will eventually be configurable). 15 years ago
rstam e8d3127d5f Implemented GetDiscriminatorTypeName to compute the smallest possible type name that can still be understood by Type.GetType(). 15 years ago
rstam 117e977d3c Initial work on serializing all classes that implement IEnumerable<T> using a single property serializer. 15 years ago
rstam 06ff8bc8ac Renamed GenericCollectionPropertySerializers to GenericEnumerablePropertySerializer in preparation for the change that will allow one property serializer to handle all classes that implement IEnumerable<T>. 15 years ago
rstam 8680cf7ba7 Removed PropertyType from IBsonPropertySerializer and replaced it with a static RegisterPropertySerializer method in classes that implement IBsonPropertySerializer. This allows one property serializer to register itself as the serializer for multiple types. 15 years ago
rstam 939d1a2f99 Implemented GenericIListProperySerializer. 15 years ago
Justin Dearing 91b45ed684 Add registry entries so that MongoDB libraries show up in the .NET tab of the Add Reference dialog. 15 years ago
Justin Dearing ed6a312500 Allow mixed case database names. Use more detailed error messages describing why a database name is invalid. [Patch submitted by Justin Dearing]. 15 years ago