All Projects → dbroudy → LazyEntityGraph

dbroudy / LazyEntityGraph

Licence: MIT license
LazyEntityGraph is an open source library for .NET which lets you generate object graphs with circular dependencies, such as those found in ORMs, by lazily generating relationship properties.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to LazyEntityGraph

EntityFrameworkCore.AutoFixture
A library aimed to minimize the boilerplate required to unit-test Entity Framework Core code using AutoFixture and in-memory providers.
Stars: ✭ 31 (+34.78%)
Mutual labels:  entity-framework, autofixture
Beef
Business Entity Execution Framework
Stars: ✭ 95 (+313.04%)
Mutual labels:  entity-framework
TinyECS
Tiny ECS is an easy to use Entity-Component-System framework that's designed specially for Unity3D.
Stars: ✭ 20 (-13.04%)
Mutual labels:  entity-framework
ReaLocate
ASP.NET MVC 5 Real Estate Application
Stars: ✭ 18 (-21.74%)
Mutual labels:  entity-framework
Fissoft.EntityFramework.Fts
Full Text Search for Microsoft SQL Server with Entity Framework
Stars: ✭ 55 (+139.13%)
Mutual labels:  entity-framework
SapientGuardian.EntityFrameworkCore.MySql
MySQL database provider for Entity Framework Core
Stars: ✭ 54 (+134.78%)
Mutual labels:  entity-framework
LinqBuilder
LinqBuilder is an advanced implementation of the specification pattern specifically targeting LINQ query generation.
Stars: ✭ 34 (+47.83%)
Mutual labels:  entity-framework
meteor
A cross-platform C2/teamserver supporting multiple transport protocols, written in Go.
Stars: ✭ 31 (+34.78%)
Mutual labels:  entity-framework
Gridify
Easy and optimized way to apply Filtering, Sorting, and Pagination using text-based data.
Stars: ✭ 372 (+1517.39%)
Mutual labels:  entity-framework
.NET-Core-Learning-Journey
Some of the projects i made when starting to learn .NET Core
Stars: ✭ 37 (+60.87%)
Mutual labels:  entity-framework
entity-framework-mock
Easy Mock wrapper for mocking EF6 DbContext and DbSet using Moq or NSubstitute
Stars: ✭ 45 (+95.65%)
Mutual labels:  entity-framework
Uno.SQLitePCLRaw.Wasm
An SQLiteRaw WebAssembly provider for SQLitePCLRaw.core
Stars: ✭ 25 (+8.7%)
Mutual labels:  entity-framework
DatatableJS
Jquery datatable with entity framework using MVC html helper
Stars: ✭ 25 (+8.7%)
Mutual labels:  entity-framework
BlazorEFCoreMultitenant
Examples of multitenancy using EF Core and Blazor.
Stars: ✭ 67 (+191.3%)
Mutual labels:  entity-framework
EFCache
Second Level Cache for Entity Framework 6.1
Stars: ✭ 97 (+321.74%)
Mutual labels:  entity-framework
PostgreSQL.AspNet.Identity.EntityFramework
ASP.NET Identity 2.0 Storage Provider using PostgreSQL EntityFramework
Stars: ✭ 26 (+13.04%)
Mutual labels:  entity-framework
ef-enterpriseextensions
EntityFramework.EnterpriseExtensions Library
Stars: ✭ 12 (-47.83%)
Mutual labels:  entity-framework
NETProvider
Firebird ADO.NET Data Provider
Stars: ✭ 113 (+391.3%)
Mutual labels:  entity-framework
typescript-orm-benchmark
⚖️ ORM benchmarking for Node.js applications written in TypeScript
Stars: ✭ 106 (+360.87%)
Mutual labels:  orms
Beetle.js
🪲 Javascript ORM, manage your data easily.
Stars: ✭ 53 (+130.43%)
Mutual labels:  entity-framework

Build status NuGet version

LazyEntityGraph

LazyEntityGraph is the successor to AutoEntityFramework. This project aims to both improve upon the functionality of the original, and open the door to integration with other test object creators and ORMs.

What's New?

The key benefits of LazyEntityGraph over AutoEntityFramework are:

  • Extensible architecture: AutoFixture and Entity Framework integration is available through extensions; similarly it would be possible to create extensions for NHibernate, ObjectHydrator, etc
  • Constrained relationships: Specify one-to-one, one-to-many or many-to-many relationships between entities and the generation process will respect those relationships
  • Entity Framework integration: Automatically generate model metadata from EDMX or Code First DbContexts, including foreign keys

For documentation, see this wiki page

Objective

When writing tests, we often need to create test objects without necessarily caring about the data used to populate them. There are many projects which accomplish this in .NET, among them AutoFixture, ObjectHydrator, NBuilder and more.

Also popular in the .NET world are ORMs: libraries used to bridge the gap between data and code by representing relational data as C# objects. The most popular of these are Entity Framework and NHibernate. These produce graphs of classes linked by relationship properties.

public class Order
{
  public int Id { get; set; }
  public virtual ICollection<Product> Products { get; set; }
}

public class Product
{
  public int Id { get; set; }
  public virtual ICollection<Order> Orders { get; set; }
}

However, if you are using a test object creation library like AutoFixture, you will run into a problem when trying to create an instance of the Order class above: the circular reference between Product and Order.

When using the ORM to retrieve one of these objects, you typically don't want to retrieve the entire object graph...! For this reason, relationship properties are often marked virtual, to enable them to be lazy-loaded.

So, we come to the purpose of this library: to permit test object creation tools like AutoFixture to create entity graphs with circular references.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].