我正在重新設計一個MVC3應用程序,將所有linq從控制器中取出並放入適當的圖層中。服務沒有實現接口成員noobie
我有這個作爲我的結構SQL - > EF - >存儲庫 - >服務 - >控制器。我正在使用接口。
編譯時我收到此錯誤:
gpc.data.service.roleService不實現接口成員gpc.data.interfaces.iroleservice.HolderNamesbyRoleID(INT)。
我是完全新的適當的建築如此道歉,如果這是盲目明顯的大聲笑。下面是一些代碼:
庫:
namespace gpc.Data.Repositories
{
public class roleRepository :gpc.Data.Interfaces.IRoleRepository
{
private gpc.Models.gpcEntities _entities = new Models.gpcEntities();
public HolderNames HolderNamesbyRoleID(int roleid)
{
return (from i in _entities.HolderNames
where i.roleid == roleid select i).FirstOrDefault();
}
}
}
然後我有一個接口:
namespace gpc.Data.Interfaces
{
public interface IRoleRepository
{
HolderNames HolderNamesbyRoleID(int roleid);
}
}
然後,我有服務:
namespace gpc.Data.Service
{
public class roleService : gpc.Data.Interfaces.IRoleService
{
private ModelStateDictionary _modelState;
private gpc.Data.Interfaces.IRoleRepository _repository;
public roleService(ModelStateDictionary modelState)
{
_modelState = modelState;
_repository = new gpc.Data.Repositories.roleRepository();
}
public roleService(ModelStateDictionary modelState,
gpc.Data.Repositories.roleRepository repository)
{
_modelState = modelState;
_repository = repository;
}
public HolderNames HolderNames(int roleid)
{
return _repository.HolderNamesbyRoleID(roleid);
}
}
}
我再有另一個接口:
namespace gpc.Data.Interfaces
{
public interface IRoleService
{
HolderNames HolderNamesbyRoleID(int roleid);
}
}
我在這個結構中創建了一個非常簡單的ienumerable,並且我能夠通過控制器獲取數據到我期望的視圖。我想這是一個更復雜的選擇一切,並把它放在一個視圖,我一定錯過了一些東西。我不知道它是否有所作爲,但「holdernames」是SQL視圖,而不是表格。
任何幫助,不勝感激
啊快照..我完全沒有發現,哈哈。謝謝!!! – bruceiow
不用擔心,我去過很多次:) – Josh