Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setting timeout on DeleteFromQuery #63

Open
fayilt opened this issue Mar 3, 2021 · 4 comments
Open

Setting timeout on DeleteFromQuery #63

fayilt opened this issue Mar 3, 2021 · 4 comments
Assignees

Comments

@fayilt
Copy link

fayilt commented Mar 3, 2021

Hi, is there a way to override the default timeout of the DeleteFromQuery operation? I couldn't find anything in the documentation.

Thanks

@JonathanMagnan JonathanMagnan self-assigned this Mar 3, 2021
@JonathanMagnan
Copy link
Member

Hello @fayilt ,

You simply need to specify a BatchTimeout. You can verify it with the logger:

using (var bulk = new BulkOperation<EntitySimple>())
{
	bulk.Connection = connection;
	bulk.DestinationTableName = "EntitySimple";
	
	var sb = new StringBuilder();
	bulk.Log = x => sb.AppendLine(x);
	bulk.BatchTimeout = 999;
	
	bulk.DeleteFromQuery(tests => tests.Where(x => x.ColumnInt > 0));

	var s = sb.ToString();
}

Let me know if that answers correctly to your question.

Best Regards,

Jon

@fayilt
Copy link
Author

fayilt commented Mar 3, 2021

Thanks, that partially answers my question. We're using DeleteFromQuery extension method on IQueryable, I assume there is no way to specify timeout when using that? And what's the default timeout in that case?

@JonathanMagnan
Copy link
Member

Hello @fayilt ,

The default timeout might depend on which library you are using.

The default timeout for:

  • Bulk Operations is 15s // default timeout
  • Entity Framework Extensions (EF Core) is 15s // default timeout
  • Entity Framework Extensions (EF6) is 180s // due to backward compatibility

To set the timeout for EFE, you simply need to set a command timeout as you normally do in Entity Framework:

EFCore: ctx.Database.SetCommandTimeout(777);
EF6: ctx.Database.CommandTimeout = 777;

Let me know if that answers all your questions.

Best Regards,

Jon

@JonathanMagnan
Copy link
Member

Hello @fayilt ,

Since our last conversation, we haven't heard from you!

Don't hesitate to contact us if you have any questions.

Best regards,

Jon

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

No branches or pull requests

2 participants