<commit_before>Antler ![alt text](http://www.gravatar.com/avatar/99c436bbd301be46a6e6daabc0dc1aa4.png "SmartElk/Antler")
======

Pluggable framework for .NET to work with popular ORMs(NHibernate, EntityFramework Code First) using the <b>same syntax</b>. Antler framework is an abstraction over ORM that you like to use. 

Goals
--------------
+ To use common syntax to work with different ORMs, so we could easily substitute one ORM with another.
+ To have very easy "fluent" configuration.
+ To be fully pluggable. For example, it should be damn easy to choose which ORM, database or IoC container to use.
+ To support multiple storages at the same time.


Usage examples
--------------

Inserting Teams in database:
<pre>
UnitOfWork.Do(uow =>
                    {
                        uow.Repo&lt;Team&gt;().Insert(new Team() {Name = "Penguins", Description = "Hockey"});
                        uow.Repo&lt;Team&gt;().Insert(new Team() {Name = "Capitals", Description = "Hockey"});
                        uow.Repo&lt;Team&gt;().Insert(new Team() {Name = "Nets", Description = "Basketball"});
                    });
</pre>

Querying Teams from database:
<pre>
var found = UnitOfWork.Do(uow => uow.Repo&lt;Team&gt;().AsQueryable().Where(t => t.Description == "Hockey").
                                                                OrderBy(t => t.Name).ToArray()); 
</pre>
<commit_msg>Updating readme file<commit_after>Antler ![alt text](http://www.gravatar.com/avatar/99c436bbd301be46a6e6daabc0dc1aa4.png "SmartElk/Antler")
======

Pluggable framework for .NET to work with popular ORMs(NHibernate, EntityFramework Code First) using the <b>same syntax</b>. Antler framework is an abstraction over ORM that you like to use. 

Goals
--------------
+ To use common syntax to work with different ORMs, so we could easily substitute one ORM with another.
+ To have very easy "fluent" configuration.
+ To be fully pluggable. For example, it should be damn easy to choose which ORM, database or IoC container to use.
+ Applications that use framework should be easily testable(unit & integration tests).


Usage examples
--------------

Inserting Teams in database:
<pre>
UnitOfWork.Do(uow =>
                    {
                        uow.Repo&lt;Team&gt;().Insert(new Team() {Name = "Penguins", Description = "Hockey"});
                        uow.Repo&lt;Team&gt;().Insert(new Team() {Name = "Capitals", Description = "Hockey"});
                        uow.Repo&lt;Team&gt;().Insert(new Team() {Name = "Nets", Description = "Basketball"});
                    });
</pre>

Querying Teams from database:
<pre>
var found = UnitOfWork.Do(uow => uow.Repo&lt;Team&gt;().AsQueryable().Where(t => t.Description == "Hockey").
                                                                OrderBy(t => t.Name).ToArray()); 
</pre>

{'fraction_non_alphanumeric': 0.14225202965054712, 'fraction_numerical': 0.010589481115425344, 'mean_word_length': 2.5692695214105794, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 23, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 2, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '158289', 'n_tokens_mistral': 859, 'n_tokens_neox': 813, 'n_words': 258}