当前位置: 首页 > 面试题库 >

通过实体框架插入当前数据库日期时间

许淳
2023-03-14
问题内容

我们希望将当前日期时间放入数据库列中。

我们有一个Web场,Web服务器上的时间可以变化,因此我们需要在数据库服务器上使用datetime。

我们有一个带有Not Nulldatetime列的数据库。此列的默认日期时间为当前时间。

当我们使用不包含datetime列的SQL语句插入数据时,这种方法可以很好地工作。

从实体框架:

  • 如果我们将datetime定义为not null,则datetime设置为低日期,并将低日期插入数据库中。
  • 如果将datetime定义为null,则插入时会出现一个异常,即值不能为null。

如果插入值为低日期,我们可以使用数据库触发器将日期时间更改为当前日期时间来解决此问题。

有谁有更好的解决方案?


问题答案:

由于该列具有数据库设置的默认值,因此您可以简单地将datetime列标记为已计算:

[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
property DateTime Date { get; set; }

或流利的制图

this.Property(t => t.Date)
    .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed);

EntityTypeConfiguration课堂上,或

modelBuilder.Entity<MyClass>().Property(t => t.Date)
    .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed);

OnModelCreating覆盖。

这将导致EntityFramework在每次读取,插入或更新记录时读取该列的值,但是永远不会设置它。



 类似资料:
  • 我有一个表,dateime的值是这样的 我想得到那一天或今天(现在是2021年12月8日)。因此,我尝试在控制器中使用EF: 但我还是没有弄明白。当我尝试调试DateTime时。今天日期,是指日期时间。今天={09/12/2021 00:00:00}。但当我尝试将createddate更新为“2021-12-09 00:00:00.000”时,它可以被检索。那么,如何检索我今天创建的行(忽略时间)

  • 问题内容: 我需要找出一种将带有字段的记录插入数据库的方法,但我陷入了困境。 有谁知道我该怎么做?现在我有类似的东西。 但是,当我运行类似这样的命令时,出现错误:值的字符串表示形式的语法不正确。 这是sql语句的样子: 谢谢 问题答案: 当然,这将使你的代码更好,但是要回答你的问题,你需要告诉的字符串表示形式。在中(你不指定数据库供应商的名称),使用以下函数将字符串日期转换为:

  • 问题内容: 我在将日期正确插入数据库中时遇到问题。 我使用这种格式,并且正确回显,但是,当我插入 它似乎无法成功运行,时间仍然是00:00:00,如果您能找到很好的解决方案,谢谢。 问题答案: 如果要存储当前时间,请使用MYSQL的函数。 如果需要使用PHP进行格式化,请尝试

  • 我已经在我的应用程序中添加了一个按钮。当我点击按钮时,当前时间保存到SP。但我想把这个保存到我的firebase数据库里。我怎么能这么做?

  • 问题内容: 我可以从python连接到本地mysql数据库,并且可以创建,选择并插入单个行。 我的问题是:我可以直接指示mysqldb提取整个数据帧并将其插入到现有表中,还是需要遍历行? 在这两种情况下,对于具有ID和两个数据列以及匹配的数据帧的非常简单的表,python脚本的外观如何? 问题答案: 更新: 现在有一种方法,而不是: 另请注意:语法可能会在熊猫0.14中更改… 您可以使用MySQL

  • 问题内容: 我在项目中使用EDM模型。 当我通过发布请求在数据库中插入俄语单词时,我得到 控制器: 在数据库中,所有字符集都设置为utf-8 在布局页面中,内容的enc类型为utf-8 数据库代码: 问题答案: 添加到Entity Framework的连接字符串中 这是一个工作添加节点: