У меня есть IQuariable из базы данных, который я сопоставляю для просмотра модели следующим образом:
IQueryable<ItemList> itemsList = query.Select(x =>
new ItemList()
{
Phone = x.Phone,
Email = x.Email,
Fax = x.Fax,
State = x.StateId.HasValue ? new GenericBox() { Text = x.State.Name , Value = x.State.Id } : null,
Type = x.Type,
ChildItems = x.Contact.ChildItems.OrderBy(a => a.Order).Select(a => new GenericBox() { Text = a.Child.FirstName + " " + a.Child.LastName, Value = a.ChildId })
});
Класс GenericBox выглядит следующим образом:
public class GenericBox
{
public string Text { get; set; }
public Guid Value { get; set; }
}
Затем я преобразую этот IQueriableна чистый SQL и выполнить его в SqlCommand.
Проблема заключается в свойствах State и ChildItems.Мне нужно установить союзников для свойств состояния Text и Value.Поскольку IQueryable устанавливает их в SQL со случайными сгенерированными именами:
SELECT
[Project3].[Id] AS [Id1],
[Project3].[Phone] AS [Phone],
[Project3].[Email] AS [Email],
[Project3].[Fax] AS [Fax],
[Project3].[C2] AS [C2],
[Project3].[Name1] AS [Name1],
[Project3].[StateId] AS [StateId],
[Project3].[Type] AS [Type],
[Project3].[C5] AS [C3],
[Project3].[C3] AS [C4],
[Project3].[AgentId] AS [AgentId]
Как вы можете видеть в SELECT, Name1 для State.Text из моего класса, а C4 для ChildItem.Text.
Мне нужно в ВЫБЕРИТЕ псевдоним для столбца Имя1, например, Текст.И псевдоним для столбца C4 я хочу быть снова текст.