Общий репозиторий для обновления двух объектов - PullRequest
0 голосов
/ 20 ноября 2011

Среда: IoC, репозиторий и структура единиц работы

Вопрос: у меня есть общий репозиторий, который в настоящее время занимает один класс, он выглядит так

public class GenericRepository<TEntity> : IFullRepository<TEntity> 
where TEntity : class   
{}

У меня есть одно беспокойство по этому поводу, каждый раз, когда я вызываю мой Add или Update, я обновляю свою таблицу аудита для этого конкретного класса (сущности), проблема в том, смогу ли я создать общий репозиторий, где он мог бы занять 2 класса ( сущности) одна обычная сущность и соответствующая ей сущность Audit вместе только для моей функции добавления и обновления (т. е. создание другого универсального хранилища, имеющего методы добавления и обновления), которое может выглядеть следующим образом

public class GenericRepositoryAuditAudit<TEntity,TEntity> : 
                               IFullRepositoryAudit<TEntity, TEntity> 
where TEntity : class   
{}

Но проблема в том, что мой IObjectSet использует только одну сущность, здесь это выглядит так.

public interface IObjectContext
{
    IObjectSet<TEntity> Set<TEntity>() where TEntity : class;
    int SaveChanges();
}

Вопрос: как мне реализовать такую ​​функциональность? Можно ли реализовать через общий репозиторий.

Вот мой пример моего класса (xenity) и (Xaudit).

Аудит столбцов

    Identifier,(p)
   Timestamp
   UCode
  OpertnName
   XCode(f)
  Name
  OldValue
  NewValue

    XClass coloums

  Xcode(p)
     Xname 
     bool
     bool 
...