/
QuerySplittingBehavior.xml
86 lines (86 loc) · 4.58 KB
/
QuerySplittingBehavior.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<Type Name="QuerySplittingBehavior" FullName="Microsoft.EntityFrameworkCore.QuerySplittingBehavior">
<TypeSignature Language="C#" Value="public enum QuerySplittingBehavior" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed QuerySplittingBehavior extends System.Enum" />
<TypeSignature Language="DocId" Value="T:Microsoft.EntityFrameworkCore.QuerySplittingBehavior" />
<TypeSignature Language="VB.NET" Value="Public Enum QuerySplittingBehavior" />
<TypeSignature Language="F#" Value="type QuerySplittingBehavior = " />
<AssemblyInfo>
<AssemblyName>Microsoft.EntityFrameworkCore.Relational</AssemblyName>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Enum</BaseTypeName>
</Base>
<Docs>
<summary>
Indicates how the related collections in a query should be loaded from database.
</summary>
<remarks>
See <see href="https://aka.ms/efcore-docs-split-queries">EF Core split queries</see> for more information and examples.
</remarks>
</Docs>
<Members>
<Member MemberName="SingleQuery">
<MemberSignature Language="C#" Value="SingleQuery" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Microsoft.EntityFrameworkCore.QuerySplittingBehavior SingleQuery = int32(0)" />
<MemberSignature Language="DocId" Value="F:Microsoft.EntityFrameworkCore.QuerySplittingBehavior.SingleQuery" />
<MemberSignature Language="VB.NET" Value="SingleQuery" />
<MemberSignature Language="F#" Value="SingleQuery = 0" Usage="Microsoft.EntityFrameworkCore.QuerySplittingBehavior.SingleQuery" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.EntityFrameworkCore.Relational</AssemblyName>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Microsoft.EntityFrameworkCore.QuerySplittingBehavior</ReturnType>
</ReturnValue>
<MemberValue>0</MemberValue>
<Docs>
<summary>
The related collections will be loaded in same database query as parent query.
</summary>
<remarks>
This behavior generally guarantees result consistency in the face of concurrent updates
(but details may vary based on the database and transaction isolation level in use).
However, this can cause performance issues when the query loads multiple related collections.
</remarks>
</Docs>
</Member>
<Member MemberName="SplitQuery">
<MemberSignature Language="C#" Value="SplitQuery" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Microsoft.EntityFrameworkCore.QuerySplittingBehavior SplitQuery = int32(1)" />
<MemberSignature Language="DocId" Value="F:Microsoft.EntityFrameworkCore.QuerySplittingBehavior.SplitQuery" />
<MemberSignature Language="VB.NET" Value="SplitQuery" />
<MemberSignature Language="F#" Value="SplitQuery = 1" Usage="Microsoft.EntityFrameworkCore.QuerySplittingBehavior.SplitQuery" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.EntityFrameworkCore.Relational</AssemblyName>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Microsoft.EntityFrameworkCore.QuerySplittingBehavior</ReturnType>
</ReturnValue>
<MemberValue>1</MemberValue>
<Docs>
<summary>
The related collections will be loaded in separate database queries from the parent query.
</summary>
<remarks>
This behavior can significantly improve performance when the query loads multiple collections.
However, since separate queries are used, this can result in inconsistent results when concurrent updates occur.
Serializable or snapshot transactions can be used to mitigate this
and achieve consistency with split queries, but that may bring other performance costs and behavioral difference.
</remarks>
</Docs>
</Member>
</Members>
</Type>