LINQ to SQL и псевдоним столбца с пробелами - PullRequest
9 голосов
/ 12 мая 2009

Еще немного нового для Linq. Это сводит меня с ума. Я хочу, чтобы псевдоним столбца, псевдоним должен иметь пробел.

Это прекрасно работает:

Dim q = From tmp in t.Table Select iDate = tmp.iDate

Но я хочу, чтобы это сработало

Dim q = From tmp in t.Table Select "Some Alias With Space" = tmp.iDate

Есть идеи?

Ответы [ 6 ]

3 голосов
/ 12 мая 2009

Прежде всего, у псевдонимов не должно быть пробелов, как и у любой переменной не может быть пробелов. Мой вопрос, почему вы хотите / должны иметь пробел в вашем имени? Я уверен, что есть более эффективные средства для достижения того, чего вы пытаетесь достичь, без попыток навязать плохую практику соглашений об именах.

2 голосов
/ 24 ноября 2011

Используйте простой псевдоним перед столбцом или столбцами:

var x = from data in mdc.Accounts
select new
{
    data.AccountName,
    Total = data.CashAndEquivalent + data.MarginBalance
};

//Total is the alias
2 голосов
/ 11 октября 2011

Используйте квадратные скобки, чтобы использовать псевдоним в LinqToSql как

[Some Alias With Space] = tmp.iDate

если это не сработает, удалите пробелы и используйте []

1 голос
/ 30 мая 2013

ИСПОЛЬЗУЯ ТАБЛИЦУ ДАННЫХ

DataTable dt = (from x in obj.GetAllReqVSTFs()
                select new
                    {
                        VSTF_id = x.VSTF_id,
                        x.Description,
                        x.PM1,
                        x.PM2,
                        x.Analyst_Status,
                        x.Overall_Status,
                        x.Planed_Analyst_End_Date
                    }).Take(5).ToList().ToDataTable();
foreach (DataColumn c in dt.Columns)
{
    c.ColumnName = c.ColumnName.Replace("_", " ");
}

gvBurntHours.DataSource = dt;
gvBurntHours.DataBind();
0 голосов
/ 12 мая 2009

Ты не можешь, прости. Черт, если вы перенесете таблицу с пробелом в имени в Linq, она автоматически заменит пробел с подчеркиванием.

Помимо того, что это невозможно, это чрезвычайно плохая идея. То, из-за чего люди, написавшие Access, должны быть застрелены.

0 голосов
/ 12 мая 2009

Насколько я знаю, вы не можете сделать это, потому что псевдоним столбцов должен быть допустимым идентификатором C #, и они не допускают пробелы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...