Мой RadGrid заселен из ICC-структуры сущности, хранящейся в состоянии сеанса. Первичный ключ - это автоматически увеличивающееся поле в базе данных. Пользователь может добавлять несколько строк в сетку, не отправляя их в базу данных. Если пользователь удаляет строку перед сохранением, как вы можете удалить конкретный объект? Пока что первичный ключ не будет назначен новым строкам, пока данные не будут сохранены.Linq Удалить незафиксированную сущность из коллекции сущностей - как вы находите нужную?
DataContext context = (DataContext)Session["context"];
protected void rgEmployees_DeleteCommand(object source, GridCommandEventArgs e) {
int MyID = Tools.GetInt((e.Item as GridDataItem).
OwnerTableView.DataKeyValues[e.Item.ItemIndex]["My_ID"]);
Employee ee= context.Employee.SingleOrDefault(t => t.ID == MyID);
// The problem with above line is that t.ID has not been established yet.
context.Employee.Remove(ee);
}
Данные действительно остаются в том же порядке, как то, что показано на сетка и - с незначительными изменениями - это решение сработало. – Stoertz
@Stoertz просто в виду, что этот код принесет вашу полную таблицу «Employee» в память с помощью «AsEnumerable», поддержка ElementAt с EF не поддерживается. – James