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

т.е. код примерно такой будет:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
double function_linq_add(string a, string b)
{
}

protected void Button1_Click(object sender, EventArgs e)
{
string a=textBox1.Text;
string b=textBox2.Text;
моя_таблица=function_linq_add(a,b)
}

я просто не могу понять, как эту функцию написать. те примеры, которые есть на msdn.microsoft.com не подходят (функция не работает)
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37262980
beatles4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т.е. идея такая написать функции INSERT / UPDATE / DELETE (хотя бы 1 из них) не на sql, а на linq; загнать этот код в функцию, а при нажатии кнопки просто вызвать функцию
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37263028
beatles4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тут кто-нибудь есть?
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37263748
beatles4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ау
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37263815
Вестник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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-ы
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37264338
beatles4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на asp.net.

я создал БД в management studio, она называется - "newowner", таблица в ней называется "TableOwner"
в таблице 3 столбика:
1)OwnerID (это и есть первичный ключ)
2)OwnerName
3)OwnerAge

т.е. добавляет данные только при вводе OwnerName и OwnerAge.

скажите, пожалуйста, как будет функция добавления данных выглядеть
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37264574
beatles4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
например, на sql это будет так:
Код: plaintext
InsertCommand="INSERT INTO [TableOwner] ([OwnerID], [OwnerName], [OwnerAge]) VALUES (@OwnerID, @OwnerName, @OwnerAge)" 

Код: plaintext
SqlDataSource1.Insert(); 

а как это на linq написать без использования linqdatasource?
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37264599
Вестник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я вам уже ответил, что на 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();
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37264694
beatles4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я сделал 1ый пункт, как вы написали.
скажите, пожалуйста, что нужно нажимать дальше, чтобы писать программу. у меня 2 таблицы нарисовались(см. рисунок), а куда вводить код программы, я не пойму
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37264730
Вестник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
protected void Button1_Click(object sender, EventArgs e)
{
    var context = new Model1();

    var owner = new TableOwner();
    owner.OwnerName = textBox1.Text;
    owner.OwnerAge = Convert.ToDouble(textBox2.Text);

    context.TableOwner.Add(owner);
    context.SubmitChanges();
}
как-то так
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37264761
beatles4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое.
Не могли бы вы сказать - куда именно это всё вводить.

То, что я писал на sql - я делал на ASP.NET, потом создавал web form, и туда уже кидал текстбоксы и кнопку из toolbax

А на ADO.NET как это всё проделать? Т.е. сейчас предо мной 2 таблицы, куда дальше жать, чтобы перекинуть текстбоксы и кнопку?
(создать новую веб-форму?)
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37264805
beatles4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я написал то, что вы сказали в default.aspx.cs (см. картинку)

он написал, что не понимает - что такое Model1, textBox1, textBox1
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37264833
beatles4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я сейчас попробовал всёэто написать в WevForm3.aspx

всего одна ошибка - он не понимает что такое Model1.
The type or namespace name 'Model1' could not be found (are you missing a using directive or an assembly reference?)
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37265089
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автора куда вводить код программы, я не пойму
*facepalm*
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37265105
beatles4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
по ходу тут многие программировать умеют, но никто не знает, почему комп не понимает, что такое Model1.
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37265292
Вестник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Model1 - это класс с контекстом вашей модели (см заголовок окна с моделью).
чтобы посмотреть точное имя, откройте модель и в свойствах найдите Entity Container Name. скорее всего это будет Model1Container

и мне кажется, что вы взяли задачку не по зубам. такие базовые вопросы на форумах задавать очень не эффективно
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37265842
beatles4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо за подсказку.
я нашёл имя - оно называется - newownerEntities. я так и написал.

но всё равно ваш пример не работает. (см. фото)

Как я понял нужно где-то прописать - что делает Add, что делает SubmitChanges. или нужно просто добавить using ... ?
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37265875
Вестник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
найдите в solution explorer Model1.edmx, под ним будет Model1.Designer.cs
откройте его, там будет что-то вроде:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
namespace NNN
{
    #region Contexts
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    public partial class MMM : ObjectContext
    {
что у вас вместо MMM?

потом откройте регион ObjectSet Properties и скажите имя самого первого класса
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37265880
beatles4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня вместо MMM написано newownerEntities.
я сделал скриншот (см. фото)
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37265891
Вестник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
    context.TableOwner.AddObject(owner);
    context.SaveChanges();
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37265901
beatles4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скажите, пожалуйста, почему вы поменяли:
1)Add на AddObject
2)SubmitChanges на SaveChanges
это из-за Model1.Designer.cs? мне просто нужно понять, чтобы самостоятельно научиться писать.
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37265906
Вестник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я писал по памяти и ошибся
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37265926
beatles4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ясно. у меня теперь получается добавлять данные в БД. Спасибо вам большое.

Можете сказать - AddObject - эта команда где-то прописана? её можно прописать руками, как на sql в management studio?
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37265936
Вестник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это не команда, это метод класса ObjectSet<Entity>, а класс из Entity Framework

на основе вашей модели (Model1.edmx) visual studio сгенерировал реализацию модели (Model1.Designer.edmx, причем он автоматически пересоздается каждый раз, когда вы меняете что-то в модели). т.е. все, что у есть вас в графическом представлении, получило реализацию в виде кода на C#
...
Рейтинг: 0 / 0
LINQ в качестве функции
    #37265938
Вестник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Model1.Designer.edmxcs
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ в качестве функции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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