LINQ для SQL оператор вставки не работает - PullRequest
4 голосов
/ 21 сентября 2011

У меня есть следующий код:

        pillboxDataContext db = new pillboxDataContext();

        userAccount newUser = new userAccount();
        newUser.userName = "test123";
        newUser.userPhone = "1234567890";
        newUser.userEmail = "test@test.com";
        newUser.userPwd = "testpassword";
        newUser.userCreateDate = DateTime.Now;
        newUser.userAccountType = "basic";

        db.users.Add(newUser);
        db.SubmitChanges();

userAccount - мой объект со свойствами (которые совпадают с таблицей пользователя).

Я запутался в строке db.users.Add(newUser);,.Add заявляет: System.Data.LINQ.Table не содержит определения для «Add».

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

ОБНОВЛЕНИЕ:

Я изменил его на db.users.InsertOnSubmit(newUser); однако, я все еще получаюошибка:

Наилучшее совпадение перегруженного метода для 'System.Data.Linq.Table.InsertOnSubmit (user)' имеет недопустимые аргументы

Fix!

После просмотра других примеров кода я обнаружил, что я назначаю свои данные классу (userAccount), а не таблице (user).

Поэтому я изменил: userAccount newUser = new userAccount();на user newUser = new user(); Тогда все заработало, как я и ожидал.

Спасибо за информацию!

Ответы [ 2 ]

6 голосов
/ 21 сентября 2011

Да, Add не будет работать - я подозреваю, что вы хотите InsertOnSubmit.

db.users.InsertOnSubmit(newUser);
db.SubmitChanges();
1 голос
/ 21 сентября 2011

Ваш код:

db.users.InsertAllOnSubmit(newUser);

Джон предположил, что ваш код должен быть:

db.users.InsertOnSubmit(newUser);

Существует огромная разница между ними. IDE очень помогает для такого рода вещей ...

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