我是新的存儲庫模式,並試圖在我的項目中實現。 我有實體類Admission.cs當前類型「IAdmissionRepository」是一個接口,不能構造。你是否缺少類型映射?
public class Admission
{
public long AccountID { get; set; }
public long ClientID { get; set; }
public long AdmissionID { get; set; }
}
然後我有界面是這樣的:在不同的項目
namespace Common.Interfaces
{
public interface IAdmissionLogic:IDisposable
{
Admission GetAdmission(long admissionId);
void UpdateAdmission(Admission admission);
}
}
然後我有業務邏輯類爲:
public class AdmissionLogic:IAdmissionLogic
{
private IAdmissionRepository data;
public AdmissionLogic()
{
var dependencyContainer = new UnityContainer().LoadConfiguration();
dependencyContainer.RegisterType(typeof(IAdmissionLogic));
data = dependencyContainer.Resolve<IAdmissionRepository>();
}
public void Dispose()
{
data.Dispose();
}
}
然後我在界面中的數據項目爲:
namespace Data.Interfaces
{
public interface IAdmissionRepository:IDisposable
{
CommonEntities.Admission GetAdmission(long admissionId);
void UpdateAdmission(CommonEntities.Admission admission);
}
}
然後我有如上一個在同一項目實際存儲庫類:
namespace Data.Repositories
{
public class AdmissionRepository : EntitiesRepositoryBase<Data.Admission, CommonEntities.Admission>, IAdmissionRepository
{
public CommonEntities.Admission GetAdmission(long admissionId)
{
}
}
}
當我寫我在哪裏查詢實際的ASPX頁面下面的行;
AdmissionLogic admissionLogic = new AdmissionLogic();
Admission admission = admissionLogic.GetAdmission(AdmissionId);
我得到的AdmissionLogic爲: 當前類型,「IAdmissionRepository,」是一個接口,並且不能建立。你是否缺少類型映射? 我在這裏做錯了什麼?
我不太瞭解Unity容器,但我很確定你必須註冊抽象類型,即與實際實現類型的接口 – Luiso