static void Main(string[] args) { Program program = new Program(); program.InitializeDataBase(); using (IOsUnitOfWorkContext unitOfWorkContext = new OsUnitOfWorkContext(new DatabaseContext())) { Person person = new Person() { Age = 28, Name = "Fabian" }; //Adding a new Entity, for example "Person" unitOfWorkContext.Add(person); //Savechanges unitOfWorkContext.Save(); //or... unitOfWorkContext.SaveASync(); // Get all Persons List<Person> allPersons = unitOfWorkContext.GetAll<Person>().ToList(); // Get all Persons with the age of 35 List<Person> allPersonsOnAge35 = unitOfWorkContext.GetAll<Person>(x => x.Age == 35).ToList(); // Get all Persons with the age of 35 ordered by Name List<Person> allPersonsOnAge35Ordered = unitOfWorkContext.GetAll<Person>(x => x.Age == 35, orderBy: q => q.OrderBy(d => d.Name)).ToList(); // Get all Persons with the age of 35 ordered by Name and include its properties List<Person> allPersonsOnAge35OrderedAndWithThings = unitOfWorkContext.GetAll<Person>( x => x.Age == 35, orderBy: q => q.OrderBy(d => d.Name), includeProperties: "Things").ToList(); // Get all Persons and include its properties List<Person> allPersonsWithThings = unitOfWorkContext.GetAll<Person>(includeProperties: "Things").ToList(); // Find a single Person with a specific name Person findBy = unitOfWorkContext.GetSingle<Person>(x => x.Name == "Fabian"); // Find a single Person with a specific name and include its siblings Person findByWithThings = unitOfWorkContext.GetSingle<Person>(x => x.Name == "Fabian", includeProperties: "Things"); // Find a person by id unitOfWorkContext.GetSingleById<Person>(6); //Update an existing person unitOfWorkContext.Update(person); //Add or Update a Person unitOfWorkContext.AddOrUpdate<Person>(person); //Deleting a Person by Id or by entity //unitOfWorkContext.Delete<Person>(person.Id); unitOfWorkContext.Delete(person); } program.PerformDatabaseOperations(); Console.ReadLine(); }
public void GenericRepo_Delete_Entry_With_Id_Is_Deleted() { List<TestPerson> testPersons; using (IOsUnitOfWorkContext unitOfWorkContext = new OsUnitOfWorkContext(new TestDatabaseContext())) { unitOfWorkContext.Add(new TestPerson { Age = 28, Name = "Fabian" }); unitOfWorkContext.Save(); TestPerson findBy = unitOfWorkContext.GetSingle<TestPerson>(x => x.Name == "Fabian"); unitOfWorkContext.Delete<TestPerson>(findBy.Id); unitOfWorkContext.Save(); testPersons = unitOfWorkContext.GetAll<TestPerson>().ToList(); } Assert.IsTrue(testPersons.Count == 0); }