powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ: Добавить запись, которой нет в таблице
3 сообщений из 3, страница 1 из 1
LINQ: Добавить запись, которой нет в таблице
    #39363891
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица:
Код: sql
1.
2.
3.
4.
CREATE TABLE [DirWarehouses] (
  [DirWarehouseID] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
  [DirWarehouseName] TEXT(256) NOT NULL
);


Записи:
121 Склад-12 Склад-23 Склад-3
LINQ-запрос, который выведет только записи, которые есть в таблице:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
                    var query =
                        (
                            from xin db.DirWarehouses
                            select new
                            {
                                DirWarehouseID= x.DirWarehouseID,
                                DirWarehouseName = x.DirWarehouseName
                            }
                        );



Задача: LINQ-запросом добавить запись " Все ", которой не в данной таблице.
Пожалуйста, подскажите как это сделать?
...
Рейтинг: 0 / 0
LINQ: Добавить запись, которой нет в таблице
    #39363893
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
potkin,

Сначала попытайся достать искомую запись. Если её там нет, добавь. При чём не факт, что её ещё кто-то не добавит между тем когда ты проверяешь, и когда добавляешь, поэтому этот кусок кода желательно залочить.
...
Рейтинг: 0 / 0
LINQ: Добавить запись, которой нет в таблице
    #39365062
B7_Ruslan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
var query =
(
    from x in db.DirWarehouses
    select new
    {
        DirWarehouseID= x.DirWarehouseID,
        DirWarehouseName = x.DirWarehouseName
    }
);

var k= query.ToList();
k.Add(
     select new
    {
        DirWarehouseID= 0,
        DirWarehouseName = "Все"
    }
)



Скорее всего без материализации (в том или ином виде) ни один linq провайдер не даст это сделать. Так что проще просто в список добавить что нужно. Если надо именно отключить фильтрацию по складам - надо добавлять ее в linq запрос по условию.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ: Добавить запись, которой нет в таблице
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]