How can I execute the stored procedure from the database using entity framework core and return multiple resultsets? This is my context class and stored procedure which I want to call. I do not want to use ADO.Net to call the stored procedure.
public partial class MAPContext : DbContext
{
IConfiguration _configuration;
public EPAContext()
{
}
public EPAContext(DbContextOptions<MAPContext > options, IConfiguration configuration)
: base(options)
{
_configuration = configuration;
}
public virtual DbSet<Local> Locals { get; set; }
public virtual DbSet<Site> Sites { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Local>(entity =>
{
entity.HasNoKey();
entity.ToTable("Local");
entity.Property(e => e.Id)
.HasMaxLength(255)
.HasColumnName("ID");
entity.Property(e => e.Idx)
.HasMaxLength(255)
.HasColumnName("idx");
entity.Property(e => e.Loc)
.HasMaxLength(255)
.HasColumnName("loc");
entity.Property(e => e.Price).HasColumnName("price");
entity.Property(e => e.Date)
.HasColumnType("datetime")
.HasColumnName("date");
});
modelBuilder.Entity<Site>(entity =>
{
entity.HasKey(e => e.Idx)
.HasName("Site_PK");
entity.ToTable("SITEs");
entity.Property(e => e.Idx)
.HasColumnName("idx")
.HasDefaultValueSql("(newid())");
entity.Property(e => e.Cdate)
.HasColumnType("datetime")
.HasColumnName("cdate")
.HasDefaultValueSql("(getdate())");
entity.Property(e => e.Color)
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnName("color");
entity.Property(e => e.Direct)
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnName("direct");
entity.Property(e => e.Note)
.HasColumnType("text")
.HasColumnName("NOTE");
entity.Property(e => e.Date)
.HasColumnType("datetime")
.HasColumnName("date")
.HasDefaultValueSql("(getdate())");
});
OnModelCreatingPartial(modelBuilder);
}
partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
}
This is a Stored Procedure that I created in the database and want to call using entity framework core
CREATE STORED PROCEDURE [dbo.sp_MapDetail]
@Id uniqueIdentifier
AS
SELECT * FROM dbo.Map WHERE id = @Id
SELECT * FROM dbo.Sites WHERE id = @Id
SELECT dbo.Bridge.idx, dbo.Bridge.name, dbo.Bridge.site, dbo.Bridge.description, dbo.Bridge.date,
dbo.Bridge.user FROM dbo.Bldgs INNER JOIN dbo.Sites ON
dbo.Bridge.site = dbo.Sites.idx AND dbo.Sites.id = @Id
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…