簡體   English   中英

為什么我無法使用我的方法?

[英]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);
    }
}

和我的IEntityRepositoryEnityRepository為空:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM