powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ в качестве функции
8 сообщений из 33, страница 2 из 2
LINQ в качестве функции
    #37265949
beatles4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ясно, скажите - можно ли AddObject прописать самому ручками? Например, сделать функцию.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
double function_AddObject
{
.
.
.
}

protected void Button1_Click(object sender, EventArgs e)
        {
            var context = new newownerEntities1();
            var owner = new NewOwner();
            owner.OwnerName = TextBox2.Text;
            owner.OwnerAge = Convert.ToInt32(TextBox3.Text);

            context.NewOwner.function_AddObject(owner);
            context.SaveChanges();
        }

Например, в sql это сделать очень просто ручками в виде команды:
Код: plaintext
InsertCommand="INSERT INTO [TableOwner] ([OwnerID], [OwnerName], [OwnerAge]) VALUES (@OwnerID, @OwnerName, @OwnerAge)"


А на linq так можно сделать (т.е. самому всё прописать)
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37265955
beatles4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
?
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37265958
Вестник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не можно.

и я не понимаю, что вы в эту функцию собираетесь положить? все, что нужно, чтобы получить "insert into..." там уже есть. вы может до конца не уловили суть, но к sql серверу будет отправлено именно "insert into", причем правильностью формирования в зависимости от используемой СУБД займется EF
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37265985
beatles4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а, ясно. я вроде понял.

Грубо говоря
AddObject(...) (на linq) тоже самое, что INSERT INTO ... VALUES ... (на sql)
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37265994
Вестник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. примерно правильно

2. это не на linq, это на EF. вы повторите про себя эту фразу несколько раз, если "хотите понять, чтобы найчиться писать самостоятельно". от того, что вы этого не понимаете или вам кажется, что я вас путаю, или сам что-то не понимаю -- ничего не меняется. примите это как факт и учите матчасть, пока не поймете, что это так

3. важно понимать, что изменения в данных отсылаются на сервер не в момент .AddObject(), а при .SaveChanges(). а при желании можно и RejectChanges() сделать. а если что-то случится с доступом к sql серверу в момент между .AddObject() и .SaveChanges(), то на сервере ничего не изменится
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37266001
beatles4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ясно. спасибо за объяснение.
скажите, пожалуйста, если написать AddObject - будет добавлять. А на что нужно поменять AddObject, чтобы:
1)удалял (deleteObject не работает)
2)изменял (updateObject не работает)
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37266017
Вестник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
специального UpdateObject нет. вы просто меняете поля объекта и делаете .SaveChanges() (как нетрудно догадаться, это будет транслировано в UPDATE ... SET)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
var owner = context.TableOwner.FirstOrDefault(o => o.OwnerId == 100);
if (owner != null)
    owner.OwnerName = "новое имя";
...
куча других изменений
...
context.SaveChanges();

то же самое и для удалений. вы просто удаляете объект из коллекции и делаете .SaveChanges() (это, соотвественно, становится DELETE-ом)

Код: plaintext
1.
2.
3.
4.
5.
var owner = context.TableOwner.FirstOrDefault(o => o.OwnerId == 100);
if (owner != null)
    context.TableOwner.DeleteObject(owner);
...
context.SaveChanges()
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37266025
beatles4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ясно, спасибо
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ в качестве функции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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