db.database.ExecuteSQLCommand는 EF 7에서와 동일합니다.

asp.net-core asp.net-core-mvc entity-framework entity-framework-core

문제

에 해당하는 것

db.Database.ExecuteSqlCommand(Sql.ToString());

Entity Framework 7에서? 내가 보았다 .SQL () 베타 4에서,하지만 위의 아무것도 보지 못했어요.

수락 된 답변

이 기능은 아직 구현되지 않았습니다. 문제 # 624를 사용하여 진행 상황을 추적하십시오. 여기에 지금 사용할 수있는 원유 확장 방법이 있습니다.

public static int ExecuteSqlCommand(this RelationalDatabase database, string sql)
{
    var connection = database.Connection;
    var command = connection .DbConnection.CreateCommand();
    command.CommandText = sql;

    try
    {
        connection.Open();

        return command.ExecuteNonQuery();
    }
    finally
    {
        connection.Close();
    }
}

다음과 같이 사용하십시오.

public static int ExecuteSqlCommand(this RelationalDatabase database, string sql)
{
    var connection = database.Connection;
    var command = connection .DbConnection.CreateCommand();
    command.CommandText = sql;

    try
    {
        connection.Open();

        return command.ExecuteNonQuery();
    }
    finally
    {
        connection.Close();
    }
}

여기에는 활성 트랜잭션이 고려되지 않습니다.


인기 답변

Entity Framework Core RC1에서이를 사용하는 최신 방법에 대한 업데이트를 제공하고 싶었습니다.

다음과 같이 사용할 수있는 Microsoft.Data.Entity 네임 스페이스의 DatabaseFacade 클래스에 대한 확장이 있습니다.

_dbContext.Database.ExecuteSqlCommand("EXEC MySproc");



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.