gpt4 book ai didi

c# - LINQ to Sql : Insert instead of Update

转载 作者:太空宇宙 更新时间:2023-11-03 16:53:58 24 4
gpt4 key购买 nike

我被这个问题困扰了很长时间。

我尝试做的所有事情都是在我的数据库中插入一行,如果它是新信息——如果不是更新现有信息。

我以前更新过很多实体——但这段代码有什么问题超出了我的理解范围(可能是一些非常基本的东西)我想我只见树木不见森林......

private Models.databaseDataContext db = new Models.databaseDataContext();

internal void StoreInformations(IEnumerable<EntityType> iEnumerable)
{
foreach (EntityType item in iEnumerable)
{
EntityType type = db.EntityType.Where(t => t.Room == item.Room).FirstOrDefault();
if (type == null)
{
db.EntityType.InsertOnSubmit(item);
}
else
{
type.Date = item.Date;
type.LastUpdate = DateTime.Now();
type.End = item.End;
}
}
}

internal void Save()
{
db.SubmitChanges();
}

编辑:刚刚检查了 ChangeSet,没有更新只有插入。现在我已经解决了

foreach (EntityType item in iEnumerable)
{
EntityType type = db.EntityType.Where(t => t.Room == item.Room).FirstOrDefault();
if (type != null)
{
db.Exams.DeleteOnSubmit(type);
}
db.EntityType.InsertOnSubmit(item);
}

但我很乐意进行更新并删除这些不必要的删除语句。

最佳答案

你不想用 item.Room 而不是 iEnumerable.Room 吗?

关于c# - LINQ to Sql : Insert instead of Update,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2893184/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com