Se ho il seguente contesto:Come accedere a un metodo nel contesto attraverso l'unità di lavoro?
public partial class HRMainDataCTX : DbContext
{
public HRMainDataCTX()
: base("name=HRMainDataCTX")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
//DbSets
public virtual int SEARCHEMPLOYEE(Nullable<decimal> p_EMP_NUM, string p_EMP_NAME)
{
var p_EMP_NUMParameter = p_EMP_NUM.HasValue ?
new ObjectParameter("P_EMP_NUM", p_EMP_NUM) :
new ObjectParameter("P_EMP_NUM", typeof(decimal));
var p_EMP_NAMEParameter = p_EMP_NAME != null ?
new ObjectParameter("P_EMP_NAME", p_EMP_NAME) :
new ObjectParameter("P_EMP_NAME", typeof(string));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("SEARCHEMPLOYEE", p_EMP_NUMParameter, p_EMP_NAMEParameter);
}
}
Ora implemento Unità di lavoro come questo:
public class HRCTX : IDisposable
{
private readonly HRMainDataCTX _context;
public HRCTX()
{
_context = new HRMainDataCTX();
}
public HRCTX(HRMainDataCTX context)
{
_context = context;
}
public int Save()
{
return _context.SaveChanges();
}
public HRMainDataCTX Context
{
get { return _context; }
}
public void Dispose()
{
_context.Dispose();
}
}
Non so come accedere al metodo (stored procedure) SEARCHEMPLOYEE
attraverso UOW nel mio codice dietro.
La tua domanda non è chiara, e la bontà non ci aiuterà a rispondere così com'è – Evk
@Evk: Potrebbe scrivere ciò che è specificamente poco chiaro circa la mia domanda! e lo illustrerò. –
Non hai commentato la risposta qui sotto dal bassfader. Quindi se non risponde alla tua domanda, puoi chiarire il perché? Esistono dei punti validi su cui non è effettivamente necessario alcun wrapper, poiché DbContext segue già il modello dell'unità di lavoro. – Evk