[英]Why I can't access to my Methods?
我有一些這樣的命令:
IRepository(dll) -> IBaseRepository -> IEntityRepository
| | |
Repositoyr(dll) -> BaseRepository -> EntityRepository
我使用的是統一的服務定位和我定義的一些方法IBaseRepository
並實現它們BaseRepository
(能在我所有的實體倉庫中使用它們)
現在,當我在Actions中創建EntityRepository
的實例時,我可以訪問所有Repository方法,但是未顯示BaseRepository
方法!
public interface IBaseRepository<TEntity> : IRepository<TEntity> where TEntity : class
{
void Add(TEntity entity, string currentUserNationalCode, string currentUserIp, byte recordStatus,
string recordStatusDescription);
void Update(TEntity entity, string currentUserNationalCode, string currentUserIp, byte recordStatus,
string recordStatusDescription);
void Remove(TEntity entity, string currentUserNationalCode, string currentUserIp, byte recordStatus,
string recordStatusDescription);
}
public abstract class BaseRepository<TEntity> : GenericRepository<TEntity>, IBaseRepository<TEntity> where TEntity : BaseEntity
{
//public abstract void Add(TEntity entity, string currentUserNationalCode, string currentUserIp, byte recordStatus,
// string recordStatusDescription);
public void Add(TEntity entity, string currentUserNationalCode, string currentUserIp, byte recordStatus,
string recordStatusDescription)
{
entity.RecordStatus = recordStatus;
entity.RecordStatusDescription = recordStatusDescription;
entity.CreatedBy = currentUserNationalCode;
entity.CreatedDateTime = DateTime.Now;
entity.CreatorIPAddress = currentUserIp;
this.Add(entity);
}
public void Update(TEntity entity, string currentUserNationalCode, string currentUserIp, byte recordStatus,
string recordStatusDescription)
{
entity.RecordStatus = recordStatus;
entity.RecordStatusDescription = recordStatusDescription;
entity.ModifiedBy = currentUserNationalCode;
entity.ModifiedDateTime = DateTime.Now;
entity.ModifierIPAddress = currentUserIp;
this.Update(entity);
}
public void Remove(TEntity entity, string currentUserNationalCode, string currentUserIp, byte recordStatus,
string recordStatusDescription)
{
entity.RecordStatus = recordStatus;
entity.RecordStatusDescription = recordStatusDescription;
entity.RemovedBy = currentUserNationalCode;
entity.RemovedDateTime = DateTime.Now;
entity.RemoverIPAddress = currentUserIp;
entity.IsRemoved = true;
this.Update(entity);
}
}
和我的IEntityRepository
和EnityRepository
為空:
public class [Entity]Repository : BaseRepository<Organization>, IOrganizationRepository
{
}
即使我將某些方法添加到實體存儲庫中,也無法訪問它。 基本實體是類,包含我所有實體中的某些日志字段。
這應該工作:
public class Repository : BaseRepository<Organization>, IOrganizationRepository
{
public void DoSomethingFancy(TEntity entity, string currentUserNationalCode, string currentUserIp, byte recordStatus,
string recordStatusDescription)
{
base.Add(entity, currentUserNationalCode, currentUserIp, recordStatus, recordStatusDescription);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.