diff --git a/Orm/Xtensive.Orm/Orm/Model/ColumnGroup.cs b/Orm/Xtensive.Orm/Orm/Model/ColumnGroup.cs
index 35367fada..d37ab1113 100644
--- a/Orm/Xtensive.Orm/Orm/Model/ColumnGroup.cs
+++ b/Orm/Xtensive.Orm/Orm/Model/ColumnGroup.cs
@@ -4,51 +4,19 @@
// Created by: Alexey Kochetov
// Created: 2008.08.01
-using System;
-using System.Collections.Generic;
using System.Diagnostics;
using Xtensive.Collections;
-
-namespace Xtensive.Orm.Model
-{
- ///
- /// Describes a group of columns that belongs to the specified .
- ///
- [Serializable]
- [DebuggerDisplay("Type = {TypeInfoRef}, Keys = {Keys}, Columns = {Columns}")]
- public readonly struct ColumnGroup
- {
- ///
- /// Gets the pointing to
- /// this column group belongs to.
- ///
- public TypeInfoRef TypeInfoRef { get; }
-
- ///
- /// Gets the indexes of key columns.
- ///
- public IReadOnlyList Keys { get; }
-
- ///
- /// Gets the indexes of all columns.
- ///
- public IReadOnlyList Columns { get; }
-
-
- // Constructors
-
- ///
- /// Initializes a new instance of this class.
- ///
- /// The type.
- /// The keys.
- /// The columns.
- public ColumnGroup(TypeInfoRef type, IReadOnlyList keys, IReadOnlyList columns)
- {
- TypeInfoRef = type;
- Keys = keys;
- Columns = columns;
- }
- }
-}
\ No newline at end of file
+namespace Xtensive.Orm.Model;
+
+///
+/// Describes a group of columns that belongs to the specified .
+///
+[Serializable]
+[DebuggerDisplay("Type = {TypeInfoRef}, Keys = {Keys}, Columns = {Columns}")]
+public record struct ColumnGroup
+(
+ TypeInfoRef TypeInfoRef,
+ IReadOnlyList Keys, // indexes of key columns.
+ IReadOnlyList Columns // indexes of all columns.
+);
diff --git a/Orm/Xtensive.Orm/Orm/Rse/RecordSetHeader.cs b/Orm/Xtensive.Orm/Orm/Rse/RecordSetHeader.cs
index 5b9ce0536..5549e3139 100644
--- a/Orm/Xtensive.Orm/Orm/Rse/RecordSetHeader.cs
+++ b/Orm/Xtensive.Orm/Orm/Rse/RecordSetHeader.cs
@@ -188,7 +188,7 @@ public RecordSetHeader Select(IReadOnlyList columns)
return new RecordSetHeader(
TupleDescriptor.CreateFromNormalized(columns.Select(i => TupleDescriptor[i]).ToArray(columns.Count)),
columns.Select((oldIndex, newIndex) => Columns[oldIndex].Clone((ColNum) newIndex)).ToArray(columns.Count),
- resultGroups.ToList(),
+ resultGroups.ToArray(),
null,
resultOrder);
}