当前位置: 首页 > news >正文

ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间

image

前言

在做数据库设计时,为了方便进行数据追踪,通常会有几个字段是每个表都有的,比如创建时间、创建人、更新时间、更新人、备注等,在存储这些时间时,要么存储 WEB 服务器的时间,要么存储数据库服务器的时间,有时候,WEB 服务器的时间和数据库服务器的时间可能会不一致,所以为了精准,通常还是倾向于存储数据库服务器的时间,如果是 ASP.NET,使用原始 SQL 进行操作,我们可以在数据库中把这些时间字段设置为时间默认值如 getdate(),存储数据操作时,忽略这些时间字段,数据库就会自动把这些字段填充为数据库服务器的当前时间,但是由于 EF 是操作整个数据表对象,所以无法沿用以前的作法,需要另找其它方法。

本文分享 EF DB First 和 Code First 两种模式下 DateTime 字段各自如何存储数据库服务器当前时间的方法。

Database First 配置步骤

  1. 打开 edmx 文件

  2. 右键表 DataTime 字段,选择 属性,打开字段属性窗口

  3. 在 常规-StoreGeneratedPattern 下拉框选择 Computed

  4. 保存

  5. 这样存储数据时就能取数据库的时间默认值了,如果用的是 SQLServer,取的就是 getdate()

  6. 反映在 edmx xml 中,如:

    <Property Name="CreationTime" Type="datetime" Nullable="false" StoreGeneratedPattern="Computed" /><Property Name="CreationTime" Type="DateTime" Nullable="false" Precision="3" annotation:StoreGeneratedPattern="Computed" />
    
  7. 注:从数据库更新模型不会影响此配置

Code First

在数据表实体的时间字段添加这个特性即可 [DatabaseGenerated(DatabaseGeneratedOption.Computed)],如:

[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public DateTime CreationTime { get; set; }

总结

希望本文分享的方法对您有所启发,如何您有更好的方法,欢迎留言讨论!

往期精彩

  1. 分享一个 .NET EF 6 扩展 Where 的方法
  2. 分享 .NET EF6 查询并返回树形结构数据的 2 个思路和具体实现方法
  3. 分享一个 .NET 通过监听器拦截 EF 消息写日志的详细例子
  4. 不会使用 EF Core 的 Code First 模式?来看看这篇文章,手把手地教你
  5. EF Core 性能很差?试试这 6 个小技巧
  6. 如何在 EF Core 中使用乐观并发控制
  7. EF Core 在实际开发中,如何分层?

我是老杨,一个奋斗在一线的资深研发老鸟,让我们一起聊聊技术,聊聊程序人生,共同学习,共同进步

相关文章:

ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间

前言 在做数据库设计时&#xff0c;为了方便进行数据追踪&#xff0c;通常会有几个字段是每个表都有的&#xff0c;比如创建时间、创建人、更新时间、更新人、备注等&#xff0c;在存储这些时间时&#xff0c;要么存储 WEB 服务器的时间&#xff0c;要么存储数据库服务器的时间…...

【HarmonyOS】应用设置屏幕常亮

【HarmonyOS】应用设置屏幕常亮 一、问题背景&#xff1a; 金融类或钱包场景的应用APP&#xff0c;对于付款码&#xff0c;扫一扫等场景都会对屏幕设置常亮。防止屏幕长时间不操作&#xff0c;自动息屏。 目前这种场景的需求也是非常有必要的&#xff0c;也是行业内默认的处理…...

Docker部署Elasticsearch8.6.0 Kibana8.6.0

&#xff08;1&#xff09;Docker部署Elasticsearch8.5.3&#xff08;失败…&#xff09; 为了匹配springboot3.0.x&#xff0c;安装Elasticsearch:8.5.3 拉取镜像&#xff0c;遇到问题&#xff01; [rootserver01 ~]# docker pull elasticsearch:8.5.3 8.5.3: Pulling from…...

第四篇论文小记

一、第一次投稿 期刊&#xff1a;《Remote Sensing》 研究方向&#xff1a;人工智能应用 投稿结果&#xff1a;已投被拒 投稿周期&#xff1a;3天 最后更新时间&#xff1a;19 July 2024 投稿流程&#xff1a; 状态时间Pending review16 July 2024Reject by editor19 July …...

python使用 tkinter 生成随机颜色

先看效果: 只要不停点击底部的按钮&#xff0c;每次都会生成新的颜色。炫酷啊。 import random import tkinter import tkinter.messagebox from tkinter import Button# todo """ 1. 设置一个按钮&#xff0c;来让用户选择是否显示颜色值 2. 把按钮换成 Label…...

【Linux学习 | 第1篇】Linux介绍+安装

文章目录 Linux1. Linux简介1.1 不同操作系统1.2 Linux系统版本 2. Linux安装2.1 安装方式2.2 网卡设置2.3 安装SSH连接工具2.4 Linux和Windows目录结构对比 Linux 1. Linux简介 1.1 不同操作系统 桌面操作系统 Windows (用户数量最多)MacOS ( 操作体验好&#xff0c;办公人…...

设计模式-抽象工厂

抽象工厂属于创建型模式。 抽象工厂和工厂设计模式的区别&#xff1a; 工厂模式的是设计模式中最简单的一种设计模式&#xff0c;主要设计思想是&#xff0c;分离对象的创建和使用&#xff0c;在Java中&#xff0c;如果需要使用一个对象时&#xff0c;需要new Class()&#xff…...

Ubunton-24.04 简单配置使用

目录 1.设置 root 密码 2. 防火墙设置 1. 安装防火墙 2. 开启和关闭防火墙 3. 开放端口和服务规则 4. 关闭端口和删除服务规则 5 查看防火墙状态 3. 设置网络 1.设置 root 密码 1. 切换到 root 用户&#xff0c;并输入当前登录账号的密码 sudo -i 2. 设置新密码&#xf…...

什么是STP环路保护

在运行生成树协议的网络中&#xff0c;根端口和其他阻塞端口状态是依靠不断接收来自上游设备的BPDU维持。当由于链路拥塞或者单向链路故障导致这些端口收不到来自上游交换设备的BPDU时&#xff0c;设备会重新选择根端口。原先的根端口会转变为指定端口&#xff0c;而原先的阻塞…...

Python算法基础:解锁冒泡排序与选择排序的奥秘

在数据处理和算法设计中&#xff0c;排序是一项基础且重要的操作。本文将介绍两种经典的排序算法&#xff1a;冒泡排序&#xff08;Bubble Sort&#xff09;和选择排序&#xff08;Selection Sort&#xff09;。我们将通过示例代码来演示这两种算法如何对列表进行升序排列。 一…...

QtCMake工程提升类后找不到头文件

链接&#xff1a; QtCMake工程提升类后找不到头文件_qt提升类找不到头文件-CSDN博客 重点&#xff1a; 1.原因&#xff1a;出现问题的原因是Qt creator通过ui文件生成的程序和存放头文件的目录不在一起&#xff0c;但是生成的程序里会在生成目录下找头文件&#xff0c;所以肯…...

Docker核心技术:Docker原理之Cgroups

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是 Docker核心技术 系列文章&#xff1a;Docker原理之Cgroups&#xff0c;其他文章快捷链接如下&#xff1a; 应用架构演进容器技术要解决哪些问题Docker的基本使用Docker是如何实现的 Docker核心技术&#xff1a;…...

union的特性和大小端

一、union在c和c语言中的特性 1.共享内存空间&#xff1a;union的所有成员共享同一块内存空间。意味着在同一时刻&#xff0c;union 只能存储其成员 中的一个值。当你修改了union中的一个成员&#xff0c;那么其它成员的值也会被改变&#xff0c;因为它们实际上都是指向同一块…...

个性化IT服务探索实践

探索和实践个性化IT服务,可以为用户提供更优质、定制化的解决方案,从而提升用户体验和满意度。以下是一些具体的步骤和建议,帮助自己在未来探索和实践个性化IT服务。 一、了解用户需求 用户调研和反馈: 进行用户调研,了解用户的需求和痛点。收集用户反馈,通过问卷、采访…...

UE4-打包游戏,游戏模式,默认关卡

一.打包游戏 注意windows系统无法打包苹果系统的执行包&#xff0c;只能使用苹果系统打包。 打包完之后是一个.exe文件。 打包要点&#xff1a; 1.确定好要操控的角色和生成位置。 2.设置默认加载的关卡和游戏模式。 在这个界面可以配置游戏的默认地图和游戏的模式&#xff0c;…...

Unity ShaderLab基础

[原文1] [参考2] 一 基础知识 1. 1 着色器语言分类: 语言说明HLSL基于 OpenGL 的 OpenGL Shading LanguageGLSL基于 DirectX 的 High Level Shading LanguageCGNVIDIA 公司的 C for GraphicShader LabUnity封装了CG,HLSL,GLSL的Unity专用着色器语言,具有跨平台,图形化编程,便…...

用代理IP会频繁掉线是什么原因?HTTP和SOCKS5协议优劣势是什么?

在使用代理IP的过程中&#xff0c;频繁掉线是一个常见且令人头痛的问题。要解决这一问题&#xff0c;我们需要先了解其原因&#xff0c;然后比较HTTP和SOCKS5两种代理协议的优劣势&#xff0c;以选择最适合的解决方案。 一、代理IP频繁掉线的原因 1. 代理服务器稳定性 代理服…...

MongoDB教程(十三):MongoDB覆盖索引

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; 文章目录 引言什么是覆盖…...

快速认识EA(Enterprise Architecture)

前言 企业架构&#xff0c;英文是&#xff1a;Enterprise Architecture&#xff0c;简称&#xff1a;EA&#xff0c;是承接企业战略规划与IT建设之间的桥梁&#xff0c;是企业信息化的核心&#xff0c;主要包括业务架构和IT架构。 架构的本质是管理和解决系统的复杂性&#x…...

词云图制作

词云图制作 一、什么是词云 这就是词云。 “词云”的概念最早是美国西北大学新闻学副教授、新媒体专业主任里奇•戈登&#xff08; Rich Gordon &#xff09;提出的。词云&#xff08; Word Cloud &#xff09;&#xff0c;又称文字云、标签云&#xff08; Tag Cloud &#x…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

DingDing机器人群消息推送

文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人&#xff0c;点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置&#xff0c;详见说明文档 成功后&#xff0c;记录Webhook 2 API文档说明 点击设置说明 查看自…...