Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to retrive the Data from More than one Repository entity?
    primarykey
    data
    text
    <p>In my MVC application, i have created generic repository for Performing CRUD opration instead of directly using Context object.</p> <p>Context Class name{EDMX]: CustomEntity.Edmx</p> <p>Generic repository code: </p> <pre><code>public interface IRepository&lt;T&gt; : IDisposable where T : class { IQueryable&lt;T&gt; GetAll(); IEnumerable&lt;T&gt; Find(Expression&lt;Func&lt;T, bool&gt;&gt; predicate); T FindFirst(Expression&lt;Func&lt;T, bool&gt;&gt; predicate); T GetFirst(); T GetLast(); void Add(T entity); void Delete(T entity); void Update(T entity); void SaveChanges(); } public class GenericRepository&lt;T&gt; : IRepository&lt;T&gt; where T : class { private ObjectContext _context; private IObjectSet&lt;T&gt; _objectSet; public GenericRepository(ObjectContext context) { _context = context; _objectSet = _context.CreateObjectSet&lt;T&gt;(); } public IQueryable&lt;T&gt; GetAll() { return _objectSet; } public IEnumerable&lt;T&gt; Find(Expression&lt;Func&lt;T, bool&gt;&gt; predicate) { return _objectSet.Where&lt;T&gt;(predicate); } public T GetFirst() { return _objectSet.FirstOrDefault(); } public T FindFirst(Expression&lt;Func&lt;T, bool&gt;&gt; predicate) { return _objectSet.First&lt;T&gt;(predicate); } public T GetLast() { return _objectSet.LastOrDefault(); } public void Delete(T entity) { if (entity == null) { throw new ArgumentNullException("entity"); } _objectSet.DeleteObject(entity); } public void Add(T entity) { if (entity == null) { throw new ArgumentNullException("entity"); } _objectSet.AddObject(entity); } public void Update(T entity) { _context.ObjectStateManager.ChangeObjectState(entity, EntityState.Unchanged); _objectSet.Attach(entity); _context.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified); } public void SaveChanges() { _context.SaveChanges(); } public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } protected virtual void Dispose(bool disposing) { if (disposing) { if (_context != null) { _context.Dispose(); _context = null; } } } </code></pre> <p>Created Three Repository using genric repository:</p> <p>// CustomEntity-DataContext file[Edmx]</p> <pre><code> vat dat1=GenricRepository&lt;table1&gt; (new CustomEntity()); vat dat1=GenricRepository&lt;table2&gt; (new CustomEntity()); vat dat3=GenricRepository&lt;table3&gt; (new CustomEntity()); </code></pre> <p>here above created three repository for entities, these are referred same context. i would like retrieve data from three Repository in a single query like LinQ .</p> <p>but i can do this directly In context[EDMX] by:</p> <pre><code>Using(CustomEntity custom=new CustomEntity()) { var reocrds=(from t1 in custom.table1 from t2 in custom.table2 from t3 in custom.table3 where t1.id==t2.id&amp;&amp;t1.cusid==t3.cusid select t1).ToList(); } </code></pre> <p>can you please suggest how to retrieve the data[same query above in context] from repository entity dat1,dat2,dat3</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload