Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
можно ли написать функцию linq, которая будет добавлять данные в таблицу т.е. код примерно такой будет: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. я просто не могу понять, как эту функцию написать. те примеры, которые есть на msdn.microsoft.com не подходят (функция не работает) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2011, 16:05 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
т.е. идея такая написать функции INSERT / UPDATE / DELETE (хотя бы 1 из них) не на sql, а на linq; загнать этот код в функцию, а при нажатии кнопки просто вызвать функцию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2011, 16:08 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
тут кто-нибудь есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2011, 16:23 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
linq - это только query. написать функции INSERT / UPDATE / DELETEв зависимости от того, linq-"к-чему" вы используете вы пишите функции на этом "чем-то": для linq-2-objects: - insert: list.add(new_object); - delete: list.remove(object_to_delete); - update: object_to_be_updated.field = new_value; для linq-2-sql и linq-2-ef: - примерно то же самое, только вместо списков соотвествующие set-ы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 02:01 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
на asp.net. я создал БД в management studio, она называется - "newowner", таблица в ней называется "TableOwner" в таблице 3 столбика: 1)OwnerID (это и есть первичный ключ) 2)OwnerName 3)OwnerAge т.е. добавляет данные только при вводе OwnerName и OwnerAge. скажите, пожалуйста, как будет функция добавления данных выглядеть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 11:59 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
например, на sql это будет так: Код: plaintext Код: plaintext а как это на linq написать без использования linqdatasource? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 13:27 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
я вам уже ответил, что на Linq - никак. это язык запросов, а не DML. можно только на той технологии, к которой вы применяете linq например, с помощью Entity Framework: 1. сначала создаете модель (project/add new item/ado.net entity data model), в помощнике указываете базу и таблицы из нее 2. потом создаете контекст var context = new Имя_Вашей_Модели(); 3. потом добавляете запись var owner = new TableOwner(); owner.OwnerId = ... (если это identity колонка, то не надо) owner.OwnerName = ... owner.OwnerAge = ... context.TableOwner.Add(owner); context.SubmitChanges(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 13:36 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
я сделал 1ый пункт, как вы написали. скажите, пожалуйста, что нужно нажимать дальше, чтобы писать программу. у меня 2 таблицы нарисовались(см. рисунок), а куда вводить код программы, я не пойму ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 14:13 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 14:32 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
Спасибо большое. Не могли бы вы сказать - куда именно это всё вводить. То, что я писал на sql - я делал на ASP.NET, потом создавал web form, и туда уже кидал текстбоксы и кнопку из toolbax А на ADO.NET как это всё проделать? Т.е. сейчас предо мной 2 таблицы, куда дальше жать, чтобы перекинуть текстбоксы и кнопку? (создать новую веб-форму?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 14:47 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
я написал то, что вы сказали в default.aspx.cs (см. картинку) он написал, что не понимает - что такое Model1, textBox1, textBox1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 15:00 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
я сейчас попробовал всёэто написать в WevForm3.aspx всего одна ошибка - он не понимает что такое Model1. The type or namespace name 'Model1' could not be found (are you missing a using directive or an assembly reference?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 15:07 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
автора куда вводить код программы, я не пойму *facepalm* ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 16:15 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
по ходу тут многие программировать умеют, но никто не знает, почему комп не понимает, что такое Model1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 16:20 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
Model1 - это класс с контекстом вашей модели (см заголовок окна с моделью). чтобы посмотреть точное имя, откройте модель и в свойствах найдите Entity Container Name. скорее всего это будет Model1Container и мне кажется, что вы взяли задачку не по зубам. такие базовые вопросы на форумах задавать очень не эффективно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 17:08 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
спасибо за подсказку. я нашёл имя - оно называется - newownerEntities. я так и написал. но всё равно ваш пример не работает. (см. фото) Как я понял нужно где-то прописать - что делает Add, что делает SubmitChanges. или нужно просто добавить using ... ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 20:51 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
найдите в solution explorer Model1.edmx, под ним будет Model1.Designer.cs откройте его, там будет что-то вроде: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. потом откройте регион ObjectSet Properties и скажите имя самого первого класса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 21:25 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
у меня вместо MMM написано newownerEntities. я сделал скриншот (см. фото) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 21:33 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 21:41 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
Скажите, пожалуйста, почему вы поменяли: 1)Add на AddObject 2)SubmitChanges на SaveChanges это из-за Model1.Designer.cs? мне просто нужно понять, чтобы самостоятельно научиться писать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 21:45 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
я писал по памяти и ошибся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 21:49 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
ясно. у меня теперь получается добавлять данные в БД. Спасибо вам большое. Можете сказать - AddObject - эта команда где-то прописана? её можно прописать руками, как на sql в management studio? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 22:03 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
это не команда, это метод класса ObjectSet<Entity>, а класс из Entity Framework на основе вашей модели (Model1.edmx) visual studio сгенерировал реализацию модели (Model1.Designer.edmx, причем он автоматически пересоздается каждый раз, когда вы меняете что-то в модели). т.е. все, что у есть вас в графическом представлении, получило реализацию в виде кода на C# ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 22:10 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
Model1.Designer.edmxcs ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 22:10 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
ясно, скажите - можно ли AddObject прописать самому ручками? Например, сделать функцию. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Например, в sql это сделать очень просто ручками в виде команды: Код: plaintext А на linq так можно сделать (т.е. самому всё прописать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 22:15 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
Не можно. и я не понимаю, что вы в эту функцию собираетесь положить? все, что нужно, чтобы получить "insert into..." там уже есть. вы может до конца не уловили суть, но к sql серверу будет отправлено именно "insert into", причем правильностью формирования в зависимости от используемой СУБД займется EF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 22:19 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
а, ясно. я вроде понял. Грубо говоря AddObject(...) (на linq) тоже самое, что INSERT INTO ... VALUES ... (на sql) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 22:28 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
1. примерно правильно 2. это не на linq, это на EF. вы повторите про себя эту фразу несколько раз, если "хотите понять, чтобы найчиться писать самостоятельно". от того, что вы этого не понимаете или вам кажется, что я вас путаю, или сам что-то не понимаю -- ничего не меняется. примите это как факт и учите матчасть, пока не поймете, что это так 3. важно понимать, что изменения в данных отсылаются на сервер не в момент .AddObject(), а при .SaveChanges(). а при желании можно и RejectChanges() сделать. а если что-то случится с доступом к sql серверу в момент между .AddObject() и .SaveChanges(), то на сервере ничего не изменится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 22:37 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
ясно. спасибо за объяснение. скажите, пожалуйста, если написать AddObject - будет добавлять. А на что нужно поменять AddObject, чтобы: 1)удалял (deleteObject не работает) 2)изменял (updateObject не работает) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 22:42 |
|
||
|
LINQ в качестве функции
|
|||
|---|---|---|---|
|
#18+
специального UpdateObject нет. вы просто меняете поля объекта и делаете .SaveChanges() (как нетрудно догадаться, это будет транслировано в UPDATE ... SET) Код: plaintext 1. 2. 3. 4. 5. 6. 7. то же самое и для удалений. вы просто удаляете объект из коллекции и делаете .SaveChanges() (это, соотвественно, становится DELETE-ом) Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 22:52 |
|
||
|
|

start [/forum/topic.php?all=1&fid=17&tid=1350789]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
83ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 444ms |

| 0 / 0 |
