A data access library for MongoDB with an elegant api, LINQ support and built-in entity relationship management
ability to use any type for primary key property and ability to name it based on mongodb conventions when implementing IEntity
interface.
NOTE: due to a technical constraint, only the following primary key types are supported with referenced relationships.
see #195 for more info.
Entity.ID
property has been made non-nullable #210Many<T>
is now Many<TChild,TParent>
when defining referenced relationships. i.e. you now need to specify the type of the parent class that contains the property.IEntity.GenerateNewID()
& IEntity.HasDefaultID()
methods must be implemented by entities if implementing IEntity
directly.netstandard2.1
(.NET Framework is no longer supported)Date
,FuzzyString
& One<T>
types due to incompatibility with LINQ3FuzzyString
and Date
serializersCoordinates2D
class #201IMPORTANT: if upgrading from v20, do test your queries before pushing v21 to production. there may be breaking changes that can result from the switch to LINQ3 provider. for ex: the
[-1]
magic index no longer translates to$
operator and you must update your queries to use the linq extension method.FirstMatchingElement()
if previously was using[-1]
in updates.
SaveOnlyAsync
and SaveExceptAsync
methods that accept an IEnumerable<string>
of property names #180Many<T>.ParentsQueryable()
method due to incompatibility with LINQ3.net7.0