execute el procedimiento almacenado en la entidad Framework Core sin esperar que map to dbset
Estoy trabajando en .NET CORE, Entity Framework core. He almacenado un procedimiento que necesito ejecutar desde la clase .NET. Mi procedimiento almacenado toma un número de 'Contexto' y no sé cómo tratar esto, aunque tengo dataView, que es la excepción final.
Me gustaría si puedo usar mi dataView en lugar de la clase context.dataModel, implementación actual (Context.Claims.FromSql)
dataViewpublic class ClaimDataView
{
public Guid ClaimId { get; set; }
public int IdNum { get; set; }
public string Value { get; set; }
public DateTime ExpirationDate { get; set; }
public ClaimAttributionActions Action { get; set; }
public bool ActiveStateForRole { get; set; }
}
llamada de procedimiento almacenadopublic Guid UserId { get; set; }
public Guid ClientId { get; set; }
public Guid ConsultationId { get; set; }
var userParam = new SqlParameter("@UserVal", UserId);
var clientParam = new SqlParameter("@ClientVal", ConsultationId);
var consultationParam = new SqlParameter("@ConsultationVal", ConsultationId);
//**************need help in following line
var query = Context.Claims.FromSql("EXECUTE dbo.ListUserClaims @userId=@UserVal, @clientId=@ClientVal, @consultationId=@ConsultationVal"
, userParam, clientParam, consultationParam);
nueva actualizaciómoduleContext Class protected override void OnModelCreating(ModelBuilder modelBuilder)
{
//other models....
modelBuilder.Query<ClaimDataView>();
}
rocedimiento almacenado @ ejecutándose desde var query = Context.Query<UserDataView>().FromSql("EXECUTE dbo.ListUserClaims @userId=@UserVal, @clientId=@ClientVal, @consultationId=@ConsultationVal"
, userParam, clientParam, consultationParam);
erroSystem.InvalidOperationException: Cannot create a DbSet for 'UserDataView' because this type is not included in the model for the context.
at Microsoft.EntityFrameworkCore.Internal.InternalDbQuery`1.get_EntityType()