Наличие:Как добавить заказ (автоинкремент) в коллекцию с помощью Linq?
Инициализировать коллекцию Anonymouse (я бы отправить его в формате JSON)
var myCollection = new[]
{
new
{
Code = 0,
Name = "",
OtherAttribute = ""
}
}.ToList();
myCollection.Clear();
И получить данные.
myCollection = (from iPeople in ctx.Person
join iAnotherTable in ctx.OtherTable
on iPeople.Fk equals iAnotherTable.FK
...
order by iPeople.Name ascending
select new
{
Code = iPeople.Code,
Name = iPeople.Name,
OtherAttribute = iAnotherTable.OtherAtribute
}).ToList();
Я хочу добавить столбец Identity, мне нужна упорядоченная коллекция и счет от 1 до collection.count. Для привязки этого счетчика к столбцу в таблице (jtable).
var myCollection = new[]
{
new
{
Identity = 0,
Code = 0,
Name = "",
OtherAttribute = ""
}
}.ToList();
myCollection = (from iPeople in ctx.Person
join iAnotherTable in ctx.OtherTable
on iPeople.Fk equals iAnotherTable.FK
...
order by iPeople.Name ascending
select new
{
Identity = Enum.Range(1 to n)//Here I don´t know how to do; in pl/sql would be rownum, but in Linq to SQL how?
Code = iPeople.Code,
Name = iPeople.Name,
OtherAttribute = iAnotherTable.OtherAtribute
}).ToList();
Возможно, вы можете переусердствовать. Есть ли что-нибудь, что мешает вам использовать локальную переменную счетчика, чтобы установить личность? Например: 'Identity = counter ++'? –
@SimonWhitehead Ничего, но я не хочу снова повторять весь список после его получения. Если я могу это сделать с помощью Linq, будет здорово. –
Вам не нужно повторять итерацию .. вы можете сделать это в запросе LINQ - как я продемонстрировал в своем последнем комментарии. –