how to structure an entity framework data layer class
using Mm.DomainModel; using System; using System.Collections.Generic; using System.Linq.Expressions; namespace Mm.DataAccessLayer { public interface IGenericDataRepository<T> where T : class { IList<T> GetAll(params Expression<Func<T, object>>[] navigationProperties); IList<T> GetList(Func<T, bool> where, params Expression<Func<T, object>>[] navigationProperties); T GetSingle(Func<T, bool> where, params Expression<Func<T, object>>[] navigationProperties); void Add(params T[] items); void Update(params T[] items); void Remove(params T[] items); } }