Skip to content

Route all statement execution through ISqlStatementExecutor #3110

Closed
@ajcvickers

Description

@ajcvickers

From API review: "Everything should be routed thru here. Move logic from here to RelationalCommand."

Activity

added this to the 7.0.0-rc1 milestone on Sep 18, 2015
mikary

mikary commented on Sep 24, 2015

@mikary
Contributor

The SqlStatementExecutor disposes DbCommands and closes the connection before the DbDataReader can be consumed.

  • Update pipeline uses a Consume(DbDataReader) pattern that could be provided as an Action<T> allowing the executor to control the life-cycle of the ADO objects
  • Query
    • Requires a streaming / lazy reader, calling Dispose and closing connection outside of the executor
    • Reads need to be performed by an IValueBufferFactory to ensure proper typed / untyped reads occour
      • In FromSql case, requires access to DbDataReader before IValueBufferFactory can be constructed
added 2 commits that reference this issue on Oct 15, 2015

Fix #3110 - Move logic from ISqlStatementExecutor into IRelationalCom…

fe1949c

Fix #3110 - Move logic from ISqlStatementExecutor into IRelationalCom…

19d2d7f

6 remaining items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

closed-fixedThe issue has been fixed and is/will be included in the release indicated by the issue milestone.type-unknown

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions

    Route all statement execution through ISqlStatementExecutor · Issue #3110 · dotnet/efcore