У меня есть класс 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();
Разве это не должно успешно добавить запись в таблицу перекрестных ссылок?