Linq не является постоянным дополнением к списку? - PullRequest
0 голосов
/ 08 июня 2011

У меня есть класс T с ассоциацией с таблицей перекрестных ссылок.Я хотел бы иметь метод класса, который добавляет запись к перекрестной ссылке, получая объект, представляющий другую сторону.По какой-то причине, хотя я могу добавить элемент в коллекцию, он не добавляется в набор изменений для контекста данных.

Таким образом, рассматриваемый класс выглядит следующим образом:

class T
{
    public EntitySet<T_U> t_users
    {
        get
        {
            if ((this.serializing && (this.t_user.HasLoadedOrAssignedValues == false)))
            {
                return null;
            }
        return this.t_user;
        }
        set
        {
            this.Users.Assign(value);
        }
    }

    public AddUser(U user)
    {
        this.t_users.Add( new T_U() { TID = this.ID, UID = user.ID );
    }
}

Клиент, использующий этот класс, в основном будет делать что-то вроде:

var db = new DBDataContext();
var t = db.Ts.FirstOrDefault( t => t.ID = 100);
var u = db.Us.FirstOrDefault(u => u.ID == 3);

t.AddUser(u);

db.SubmitChanges();

Разве это не должно успешно добавить запись в таблицу перекрестных ссылок?

Ответы [ 2 ]

0 голосов
/ 08 июня 2011

Вы добавляете новый T_U к этому. Пользователи ... Это работает? Разве это не тот тип?

 this.Users.Add( new T_U() { TID = this.ID, UID = user.ID );
0 голосов
/ 08 июня 2011

Я думаю, что вы хотите InsertOnSubmit вместо Add. Вы используете устаревшую версию Linq для sql?

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