db.database.ExecuteSQLCommand 相当于 EF 7
db.database.ExecuteSQLCommand equivalent in EF 7
相当于
db.Database.ExecuteSqlCommand(Sql.ToString());
在Entity Framework 7?我在 beta 4 中看到了 .FromSQL(),但没有看到上面的任何东西。
该功能尚未实现。使用问题 #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();
}
}
这样使用:
db.Database.AsRelational().ExecuteSqlCommand("EXEC MySproc");
请注意,这没有考虑任何活动交易。
只是想提供有关 Entity Framework Core RC1 的最新使用方法的更新。
DatabaseFacade class 在 Microsoft.Data.Entity 命名空间中有一个扩展,您可以将其用作如下:
_dbContext.Database.ExecuteSqlCommand("EXEC MySproc");
相当于
db.Database.ExecuteSqlCommand(Sql.ToString());
在Entity Framework 7?我在 beta 4 中看到了 .FromSQL(),但没有看到上面的任何东西。
该功能尚未实现。使用问题 #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();
}
}
这样使用:
db.Database.AsRelational().ExecuteSqlCommand("EXEC MySproc");
请注意,这没有考虑任何活动交易。
只是想提供有关 Entity Framework Core RC1 的最新使用方法的更新。
DatabaseFacade class 在 Microsoft.Data.Entity 命名空间中有一个扩展,您可以将其用作如下:
_dbContext.Database.ExecuteSqlCommand("EXEC MySproc");