使用实体框架核心更新数据库中的列

塞尔希·克拉夫丘克

我在更新数据库中的记录时遇到了一些问题。我有一个代码,它在数据库中添加数据

foreach (var todatabase in InitialAllWeights)
{
    if (sd.stationSeasonNNcoefs.Count(e => e.Hours == todatabase.Hours && e.SeasonId == todatabase.SeasonId && e.StationId == todatabase.StationId) == 0)
    {
         sd.Add(todatabase);
    }
    else
    {

    }
}
sd.SaveChanges();

如果在数据库中我们没有初始计数,我们将添加当前数据。至于我的任务,如果计数为空,我需要添加数据,如果计数已满则更新数据,但如果已满,我必须只更新一列WeightsSeason

public class stationSeasonNNcoef
{
    public int stationSeasonNNcoefID { get; set; }
    public int StationId { get; set; }
    public int SeasonId { get; set; }
    public string WeightsSeason { get; set; }
    public int Hours { get; set; }

}

另一列 ( SeasonId, StationId, Hours) 必须保持不变。

大卫

如果这是您唯一标识要更新的潜在记录(或如果未找到则插入)的方式:

e.Hours == todatabase.Hours && e.SeasonId == todatabase.SeasonId && e.StationId == todatabase.StationId

然后首先尝试获取该记录。如果找到,请更新它。如果没有,请插入。也许是这样的:

var record = sd.stationSeasonNNcoefs.SingleOrDefault(e => e.Hours == todatabase.Hours && e.SeasonId == todatabase.SeasonId && e.StationId == todatabase.StationId);
if (record == null)
{
    sd.Add(todatabase);
}
else
{
    record.WeightsSeason = todatabase.WeightsSeason;
}
sd.SaveChanges();

调用SingleOrDefault将返回一个匹配的记录,或者null如果没有找到匹配的记录。(注意:如果找到多个,它会抛出异常。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

实体框架核心更新-特定于数据库的迁移

来自分类Dev

实体框架核心,更新数据库不考虑属性

来自分类Dev

如何使用实体框架核心1.0从ASP.MVC核心的数据库中读取记录

来自分类Dev

使用实体框架仅更新数据库中的某些列

来自分类Dev

使用实体框架仅更新数据库中的某些列

来自分类Dev

如何使用实体框架从DataGrid更新数据库

来自分类Dev

尝试先使用实体框架代码更新数据库

来自分类Dev

使用DTO实体框架,如何更新数据库?

来自分类Dev

使用实体框架的导航属性更新数据库

来自分类Dev

尝试先使用实体框架代码更新数据库

来自分类Dev

实体框架无法更新数据库

来自分类Dev

实体框架数据库更新

来自分类Dev

Automapper,实体框架更新数据库

来自分类Dev

实体框架更新数据库

来自分类Dev

使用实体框架从数据库中检索数据

来自分类Dev

Azure 上的实体框架核心:更新数据库参数 –ConnectionString 不起作用

来自分类Dev

用户使用实体框架将新角色更新到数据库中

来自分类Dev

实体框架数据库中不需要的列

来自分类Dev

实体框架迁移更新数据库成功,但未添加数据库列

来自分类Dev

实体框架迁移更新数据库成功,但未添加数据库列

来自分类Dev

使用实体框架从数据库中删除相关对象

来自分类Dev

实体框架核心-如何检查数据库是否存在?

来自分类Dev

实体框架核心 - 数据库未填充

来自分类Dev

实体框架使用数据库或代码优先模型中不存在的列生成sql

来自分类Dev

使用实体框架核心在读取时锁定数据库行

来自分类Dev

使用C#,WPF,实体框架和Visual Studio 2012不会在数据库中更新数据

来自分类Dev

身份实体框架库-更新数据库[MySQL]

来自分类Dev

如何使用实体框架和工作单元在数据库级别上单独更新列?

来自分类Dev

在不使用第三方工具的情况下从实体框架中的数据库更新模块

Related 相关文章

  1. 1

    实体框架核心更新-特定于数据库的迁移

  2. 2

    实体框架核心,更新数据库不考虑属性

  3. 3

    如何使用实体框架核心1.0从ASP.MVC核心的数据库中读取记录

  4. 4

    使用实体框架仅更新数据库中的某些列

  5. 5

    使用实体框架仅更新数据库中的某些列

  6. 6

    如何使用实体框架从DataGrid更新数据库

  7. 7

    尝试先使用实体框架代码更新数据库

  8. 8

    使用DTO实体框架,如何更新数据库?

  9. 9

    使用实体框架的导航属性更新数据库

  10. 10

    尝试先使用实体框架代码更新数据库

  11. 11

    实体框架无法更新数据库

  12. 12

    实体框架数据库更新

  13. 13

    Automapper,实体框架更新数据库

  14. 14

    实体框架更新数据库

  15. 15

    使用实体框架从数据库中检索数据

  16. 16

    Azure 上的实体框架核心:更新数据库参数 –ConnectionString 不起作用

  17. 17

    用户使用实体框架将新角色更新到数据库中

  18. 18

    实体框架数据库中不需要的列

  19. 19

    实体框架迁移更新数据库成功,但未添加数据库列

  20. 20

    实体框架迁移更新数据库成功,但未添加数据库列

  21. 21

    使用实体框架从数据库中删除相关对象

  22. 22

    实体框架核心-如何检查数据库是否存在?

  23. 23

    实体框架核心 - 数据库未填充

  24. 24

    实体框架使用数据库或代码优先模型中不存在的列生成sql

  25. 25

    使用实体框架核心在读取时锁定数据库行

  26. 26

    使用C#,WPF,实体框架和Visual Studio 2012不会在数据库中更新数据

  27. 27

    身份实体框架库-更新数据库[MySQL]

  28. 28

    如何使用实体框架和工作单元在数据库级别上单独更新列?

  29. 29

    在不使用第三方工具的情况下从实体框架中的数据库更新模块

热门标签

归档