Symbiotic_x86 3.1.0.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package Symbiotic_x86 --version 3.1.0.2
NuGet\Install-Package Symbiotic_x86 -Version 3.1.0.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Symbiotic_x86" Version="3.1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Symbiotic_x86 --version 3.1.0.2
#r "nuget: Symbiotic_x86, 3.1.0.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Symbiotic_x86 as a Cake Addin
#addin nuget:?package=Symbiotic_x86&version=3.1.0.2

// Install Symbiotic_x86 as a Cake Tool
#tool nuget:?package=Symbiotic_x86&version=3.1.0.2

The main goal of this library is the simplify data access for Object Oriented programmers. This library provides a simple way to perform CRUD operations. It is not expected to work for everyone or every application. Currently works with SQL Server, Sqlite, My Sql and Oracle.
I wanted something that would be simple to use, understand, and have very little impact on the code. With this library, you can have basic object CRUD working in less than three lines of code, and should require less than an hour to understand the library usage.

I also wanted something that could easily be integrated into an existing project.

The basic concept is that you add a few attributes to your objects which explains the mapping to a database results column/s. You can also implement IDatabaseDefineSupport to provide the mapping details.

There a two main objects used to work with the database. ObjectLoader and ObjectWriter.

Product Compatible and additional computed target framework versions.
.NET Framework net35 is compatible.  net40 is compatible.  net403 was computed.  net45 was computed.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.0.3 164 4/9/2014
4.0.2 48 3/20/2014
4.0.1 47 2/21/2014
3.1.0.3 42 6/3/2013
3.1.0.2 43 3/6/2013
3.1.0.1 44 2/9/2013
3.1.0 47 2/1/2013
3.0.0.2 44 12/20/2012
3.0.0 46 12/19/2012
2.6.4 47 11/9/2012
2.6.3 47 11/2/2012
2.6.2 48 10/30/2012
2.6.1 47 10/25/2012

14-Feb-2013
Fix a bug in delete child. In cases where the child item is a list, Symbiotic was only deleting the first item.
Improved the Unit test to confirm deletes.

Added EditHelper class, which can be used to track changes of objects, and also provides undo functionality.
Intended to be used for user edits of objects.

15-Feb-2013
Added more API comments.
Refactored unit tests to use IDatabaseTypesFactory for IObjectLoader and IObjectWriter interfaces.

16-Feb-2013
Added more API comments.
Some code refactoring.
Added some new object diagrams.

16-Feb-2013
Some code refactoring.
Added more API comments.

21-Feb-2013
Add boolean support to DatabaseTypesFactoryXXX classes.

25-Feb-2013
Added support debug trace for all sql text and parameters values.
Currently only traces info when a debugger is attached and IDatabaseTypesFactory.ShouldDebugTraceSql = true

26-Feb-2013
Was thinking you should be able to trace in production also. Will probably chenge this tonight.
Rename property to IDatabaseTypesFactory.ShouldTraceSql, and maybe adjust trace method called; Trace.TraceInfo()

27-Feb-2013
While working on another project using Symbiotic, I ran into another new requirement Entity which has a Relationship with it's own type.
This causes a problem because a relation table cannot have two columns with the same name.
Therefore I need to be able to specify the relation columns instead of using the parent and child id columns currently specified in the attribute.
My first thought is an overload on DatabaseRelationAttribute to provide the column names.
Another idea is to have logic which checks if parent column and child column match and automaticly adds a "2" to the end of the child column name.

27-Feb-2013
Added overload on DatabaseRelationAttribute to provide the column names.
Changed relation sql builders to suppor override.