Xtensive.Orm.BulkOperations
7.2.0-Beta-2
dotnet add package Xtensive.Orm.BulkOperations --version 7.2.0-Beta-2
NuGet\Install-Package Xtensive.Orm.BulkOperations -Version 7.2.0-Beta-2
<PackageReference Include="Xtensive.Orm.BulkOperations" Version="7.2.0-Beta-2" />
<PackageVersion Include="Xtensive.Orm.BulkOperations" Version="7.2.0-Beta-2" />
<PackageReference Include="Xtensive.Orm.BulkOperations" />
paket add Xtensive.Orm.BulkOperations --version 7.2.0-Beta-2
#r "nuget: Xtensive.Orm.BulkOperations, 7.2.0-Beta-2"
#:package Xtensive.Orm.BulkOperations@7.2.0-Beta-2
#addin nuget:?package=Xtensive.Orm.BulkOperations&version=7.2.0-Beta-2&prerelease
#tool nuget:?package=Xtensive.Orm.BulkOperations&version=7.2.0-Beta-2&prerelease
Xtensive.Orm.BulkOperations
Summary
The extension provides a set of IQueryable extension methods that are translated to server-side UPDATE or DELETE commands.
Prerequisites
DataObjects.Net 7.1.x (http://dataobjects.net)
Examples of usage
Example #1. Update primitive property with a constant value:
session.Query.All<Bar>()
.Where(a => a.Id == 1)
.Set(a => a.Count, 2)
Update();
Example #2 Updating persistent property with expression, computed on server:
session.Query.All<Bar>()
.Where(a => a.Id==1)
.Set(a => a.Count, a => a.Description.Length)
.Update();
Example #3. Setting a reference to an entity that is already loaded into current Session
// Emulating entity loading
var bar = session.Query.Single<Bar>(1);
session.Query.All<Foo>()
.Where(a => a.Id == 2)
.Set(a => a.Bar, bar)
.Update();
Example #4. Setting a reference to an entity that is not loaded into Session, 1st way
session.Query.All<Foo>()
.Where(a => a.Id == 1)
.Set(a => a.Bar, a => Query.Single<Bar>(1))
.Update();
Example #5. Setting a reference to an entity that is not loaded into Session, 2nd way
session.Query.All<Foo>()
.Where(a => a.Id == 1)
.Set(a => a.Bar, a => Query.All<Bar>().Single(b => b.Name == "test"))
.Update();
Example #6. Constructing update expressions of the fly
bool condition = CheckCondition();
var query = session.Query.All()<Bar>
.Where(a => a.Id == 1)
.Set(a => a.Count, 2);
if(condition)
query = query.Set(a => a.Name, a => a.Name + "test");
query.Update();
Example #7. Updating lots of properties at once
session.Query.All<Bar>()
.Where(a => a.Id == 1)
Update(
a => new Bar(null) { Count = 2, Name = a.Name + "test", /*dozens of other properties...*/ });
Example #8. Deleting entities
session.Query.All<Foo>()
.Where(a => a.Id == 1)
.Delete();
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- Xtensive.Orm (>= 7.2.0-Beta-2)
-
net7.0
- Xtensive.Orm (>= 7.2.0-Beta-2)
-
net8.0
- Xtensive.Orm (>= 7.2.0-Beta-2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 7.2.0-Beta-2 | 235 | 4/27/2025 |
| 7.2.0-Beta-1 | 177 | 12/28/2023 |
| 7.1.5 | 606 | 4/10/2025 |
| 7.1.4 | 11,414 | 1/27/2025 |
| 7.1.2 | 356 | 10/18/2024 |
| 7.1.1 | 14,099 | 11/14/2023 |
| 7.1.0 | 537 | 4/12/2023 |
| 7.1.0-RC | 260 | 3/9/2023 |
| 7.1.0-Beta-2 | 285 | 12/19/2022 |
| 7.1.0-Beta-1 | 321 | 7/4/2022 |
| 7.0.6 | 173 | 12/19/2024 |
| 7.0.5 | 184 | 6/3/2024 |
| 7.0.4 | 212 | 11/12/2023 |
| 7.0.3 | 1,651 | 3/21/2022 |
| 7.0.2 | 684 | 2/8/2022 |
| 7.0.1 | 561 | 10/29/2021 |
| 7.0.0 | 601 | 6/2/2021 |
| 6.0.14 | 178 | 12/17/2024 |
| 6.0.13 | 248 | 4/4/2024 |
| 6.0.12 | 31,634 | 11/10/2023 |
| 6.0.11 | 1,122 | 1/12/2023 |
| 6.0.10 | 903 | 4/29/2022 |
| 6.0.9 | 777 | 2/2/2022 |
| 6.0.8 | 624 | 10/28/2021 |
| 6.0.7 | 55,189 | 8/27/2021 |
| 6.0.6 | 637 | 5/24/2021 |
| 6.0.5 | 847 | 3/9/2021 |
| 6.0.4 | 12,638 | 12/22/2020 |
| 6.0.3 | 736 | 9/29/2020 |
| 6.0.0 | 1,400 | 1/28/2020 |
| 5.1.0-Beta-1 | 1,594 | 1/30/2015 |
| 5.0.24 | 670 | 4/27/2021 |
| 5.0.23 | 622 | 2/4/2021 |
| 5.0.22 | 791 | 11/18/2020 |
| 5.0.21 | 742 | 11/6/2020 |
| 5.0.20 | 910 | 12/25/2019 |
| 5.0.19 | 18,498 | 5/30/2019 |
| 5.0.19-Beta-2 | 872 | 4/16/2019 |
| 5.0.19-Beta-1 | 762 | 12/29/2018 |
| 5.0.18 | 3,990 | 9/28/2018 |
| 5.0.18-Beta-3 | 1,199 | 7/2/2018 |
| 5.0.18-Beta-2 | 1,240 | 6/6/2018 |
| 5.0.18-Beta-1 | 1,213 | 4/24/2018 |
| 5.0.17 | 1,783 | 2/27/2018 |
| 5.0.17-Beta-3 | 1,311 | 2/12/2018 |
| 5.0.17-Beta-2 | 1,296 | 1/12/2018 |
| 5.0.17-Beta-1 | 1,396 | 12/28/2017 |
| 5.0.16 | 1,469 | 12/1/2017 |
| 5.0.16-Beta-1 | 1,104 | 9/27/2017 |
| 5.0.15 | 1,498 | 8/1/2017 |
| 5.0.14 | 1,467 | 6/19/2017 |
| 5.0.13 | 1,593 | 3/22/2017 |
| 5.0.12 | 1,459 | 2/14/2017 |
| 5.0.11 | 1,374 | 1/25/2017 |
| 5.0.11-RC2 | 1,112 | 12/16/2016 |
| 5.0.11-RC | 1,459 | 9/20/2016 |
| 5.0.10 | 1,407 | 8/5/2016 |
| 5.0.10-RC | 1,117 | 6/30/2016 |
| 5.0.9 | 1,717 | 3/3/2016 |
| 5.0.8 | 1,541 | 2/15/2016 |
| 5.0.7 | 1,537 | 1/27/2016 |
| 5.0.7-RC2 | 1,144 | 12/8/2015 |
| 5.0.7-RC | 1,196 | 9/10/2015 |
| 5.0.6 | 1,583 | 7/3/2015 |
| 5.0.5 | 1,749 | 4/23/2015 |
| 5.0.4 | 1,554 | 3/19/2015 |
| 5.0.4-RC | 1,485 | 2/25/2015 |
| 5.0.3 | 2,222 | 10/31/2014 |
| 5.0.2 | 1,565 | 9/11/2014 |
| 5.0.0 | 1,583 | 8/15/2014 |
| 5.0.0-RC2 | 1,247 | 8/1/2014 |
| 5.0.0-RC | 1,267 | 7/21/2014 |
| 5.0.0-Beta-3 | 1,245 | 5/28/2014 |
| 5.0.0-Beta-2 | 1,329 | 2/28/2014 |
| 5.0.0-Beta-1 | 1,320 | 11/14/2013 |
| 4.6.9 | 1,521 | 7/3/2015 |
| 4.6.8 | 1,512 | 8/1/2014 |
| 4.6.7 | 1,591 | 6/23/2014 |
| 4.6.6 | 1,744 | 4/9/2014 |
| 4.6.5 | 1,630 | 1/7/2014 |
| 4.6.4 | 3,197 | 9/30/2013 |
| 4.6.3 | 2,415 | 2/4/2013 |
| 4.6.2 | 2,021 | 11/28/2012 |
| 4.6.0 | 1,857 | 10/11/2012 |
| 4.6.0-RC | 1,408 | 10/4/2012 |
| 4.5.8 | 1,543 | 9/30/2013 |
| 4.5.7 | 1,707 | 2/4/2013 |
| 4.5.6 | 1,815 | 11/28/2012 |
| 4.5.5 | 1,799 | 10/11/2012 |
| 4.5.5-RC | 1,467 | 10/4/2012 |
| 4.5.3 | 1,773 | 8/6/2012 |
| 4.5.2 | 1,863 | 5/10/2012 |
| 4.5.0 | 1,942 | 3/13/2012 |