好的,最后一次编辑。
看起来你的方法几乎是对的,它使用的是绑定(
Binding id, ...
)在datagrid中,但它似乎没有使用viewmodel(您的保存是代码隐藏中的事件)
save(object sender, RoutedEventArgs e)
)
我将直接从数据网格中获取数据,如果它不为null,我将处理它并使用实体框架编写它
private void save(object sender, RoutedEventArgs e)
{
try
{
using (var db = new testsEntities())
{
if (Datag.ItemsSource == null)
return;
var listOfItems = (IEnumerable<Test_table>)Datag.ItemsSource;
foreach(var item in listOfItems)
{
var model = db.Test_table.FirstOrDefault(x=>x.Id == item.Id)
if (model?.Id > 0)
{
model.names = item.names;
model.number = item.number;
db.Entry(model).State = EntityState.Modified;
}
else
db.Test_table.Add(item);
db.SaveChanges();
}
}
}
catch (Exception e)
{
}
}