我的IunitOfWork
:
DataLayer
的界面
public interface IUnitOfWork
{
IDbSet<TEntity> Set<TEntity>() where TEntity : class;
int SaveChanges();
IList<TEntity> SQLQueries<TEntity>( string _sql ) where TEntity : class;
}
和我的Context
:
public class Context : DbContext, IUnitOfWork
{
public DbSet<Slider> MySlider { get; set; }
public new IDbSet<TEntity> Set<TEntity>() where TEntity : class
{
return base.Set<TEntity>();
}
public IList<TEntity> SQLQueries<TEntity>( string _sql ) where TEntity : class
{
return base.Database.SqlQuery<TEntity>(_sql).ToList();
// Is it good to use 'ToList()' here or not??
}
}
在我的Service
我有:
public interface ISlider
{
IList<DomainModel.Slider> SliderGetAll();
}
和:
public class Slider:ISlider
{
IUnitOfWork _uow;
IDbSet<DomainModel.Slider> _slider;
IList<DomainModel.Slider> _slider2;
public Slider( IUnitOfWork uow )
{
_uow=uow;
_slider = _uow.Set<DomainModel.Slider>();
}
public IList<DomainModel.Slider> SliderGetAll()
{
var slide=_uow.SQLQueries<DomainModel.Slider>("SliderGetAll");
return slide;
}
}
它以这种方式工作,我想知道它使用Stored Procedure
的好方法吗?
注意:我使用结构图进行DI。