ef core给字段增加校验,比如字符长度限制、验证是否邮箱?
1、在实体类的属性字段上面加数据注释
using System.ComponentModel.DataAnnotations;
public class User
{
public int Id { get; set; }
// 必须字段,且长度限制 2-50 字符
[Required]
[StringLength(50, MinimumLength = 2)]
public string Name { get; set; }
// 最大长度 100 字符(可空字段)
[StringLength(100)]
public string Email { get; set; }
}
2、使用 fluent API 配置模型
官方文章地址:https://learn.microsoft.com/zh-cn/ef/core/modeling/
using Microsoft.EntityFrameworkCore;
namespace EFModeling.EntityProperties.FluentAPI.Required;
internal class MyContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
#region Required
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Blog>()
.Property(b => b.Url)
.IsRequired();
}
#endregion
}
public class Blog
{
public int BlogId { get; set; }
public string Url { get; set; }
}
ef core给字段增加校验,比如字符长度限制、验证是否邮箱?的更多相关文章
- EF Core设置字段默认时间
---恢复内容开始--- 在EF的官方文档上只提到了用 Fluent API来设置默认值. 但是我们日常开发中,会把公用字段都写成基类.比如行创建时间 在需要默认时间的字段加上一个特性 [Databa ...
- .Net EF Core千万级数据实践
.Net 开发中操作数据库EF一直是我的首选,工作和学习也一直在使用.EF一定程度的提高了开发速度,开发人员专注业务,不用编写sql.方便的同时也产生了一直被人诟病的一个问题性能低下. EF Core ...
- 学习ASP.NET Core Razor 编程系列十二——在页面中增加校验
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
- 好大一个坑: EF Core 异步读取大字符串字段比同步慢100多倍
这两天遇到一个奇怪的问题,通过 EF/EF Core 查询数据库速度奇慢,先是在传统的 ASP.NET 项目中遇到(用的是EF6.0),后来将该项目迁移至 ASP.NET Core 也是同样的问题(用 ...
- asp.net core系列 28 EF模型配置(字段,构造函数,拥有实体类型)
一. 支持字段 EF允许读取或写入字段而不是一个属性.在使用实体类时,用面向对象的封装来限制或增强应用程序代码对数据访问的语义时,这可能很有用.无法使用数据注释配置.除了约定,还可以使用Fluent ...
- 【爬坑笔记】c# 如何通过EF Core读写sql server的类似double型字段
=============================================== 2019/8/31_第1次修改 ccb_warlock == ...
- 给 EF Core 查询增加 With NoLock
给 EF Core 查询增加 With NoLock Intro EF Core 在 3.x 版本中增加了 Interceptor,使得我们可以在发生低级别数据库操作时作为 EF Core 正常运行的 ...
- C# 数据操作系列 - 7. EF Core 导航属性配置
在上一篇,大概介绍了Entity Framework Core关于关系映射的逻辑.在上一篇中留下了EF的外键映射没有说,也就是一对一,一对多,多对一,多对多的关系等.这一篇将为大家细细分析一下,如何设 ...
- EF Core 数据库迁移(Migration)
工具与环境介绍 1.开发环境为vs 2015 2.mysql EF Core支持采用 Pomelo.EntityFrameworkCore.MySql 源代码地址(https://github. ...
- 一步步学习EF Core(3.EF Core2.0路线图)
前言 这几天一直在研究EF Core的官方文档,暂时没有发现什么比较新的和EF6.x差距比较大的东西. 不过我倒是发现了EF Core的路线图更新了,下面我们就来看看 今天我们来看看最新的EF Cor ...
随机推荐
- js判断一个变量是否存在值得简单方法
在编码过程中,有时候我们需要对一个变量判断其是否有值,这里有一种比较不错的方法判断: !!variable //返回True为存在值,返回False为不存在值 注意是双感叹号"!!" ...
- 接口被刷百万QPS,怎么防?
大家好,我是苏三. 今天我们不聊风花雪月,只讲这个让无数开发者夜不能寐的终极命题:当恶意流量如海啸般扑来,如何守住你的系统防线? 有些小伙伴在工作中可能经历过接口被刷的噩梦,但百万QPS量级的攻击完全 ...
- 基于 Paimon 的袋鼠云实时湖仓入湖实战剖析
在当今数据驱动的时代,企业对数据的实施性能力提出了前所未有的高要求.为了应对这一挑战,构建高效.灵活且可扩展的实时湖仓成为数字化转型的关键.本文将深入探讨袋鼠云数栈如何通过三大核心实践--ChunJu ...
- 基于袋鼠云实时开发平台开发 FlinkSQL 任务的实践探索
随着业务的发展,实时场景在各个⾏业中变得越来越重要.⽆论是⾦融.电商还是物流,实时数据处理都成为了其中的关键环节.Flink 凭借其强⼤的流处理特性.窗⼝操作以及对各种数据源的⽀持,成为实时场景下的⾸ ...
- Golang基础笔记七之指针,值类型和引用类型
本文首发于公众号:Hunter后端 原文链接:Golang基础笔记七之指针,值类型和引用类型 本篇笔记介绍 Golang 里的指针,值类型与引用类型相关的概念,以下是本篇笔记目录: 指针 值类型与引用 ...
- 观点分享:Oracle数据库GRID升级的案例的闲聊
我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效 ...
- 前端开发系列072-JQuery篇之框架Ajax模块
一.jQuery框架中的Ajax简介 Ajax技术的核心是XMLHTTPRequest对象,该对象是Ajax实现的关键,发送异步请求.接收服务器端的响应以及执行回调等操作都是通过XMLHTTPRequ ...
- 前端开发系列045-基础篇之TypeScript语言特性(五)
本文主要对TypeScript中的泛型进行展开介绍.主要包括以下内容 ❏ 泛型函数类型 ❏ 泛型接口(Interface) ❏ 泛型类(Class) ❏ 泛型约束 一.泛型函数的类型 在以前的文章中, ...
- 合并字符串 sql
简介 select concat(last_name, ' ', first_name) as Name from employees;
- ETL是什么?浅谈ETL对数据仓库的重要性
在当今数字化浪潮席卷全球的时代,存在着大量的数据孤岛,企业对于数据的重视程度达到了前所未有的高度.有效集成数据也成为企业决策分析过程的重中之重,ETL对数据集成发挥着至关重要的作用.那么,什么是ETL ...