首页 > 其他分享 >EF CodeFirst 数据注解特性详解

EF CodeFirst 数据注解特性详解

时间:2023-12-07 17:26:04浏览次数:39  
标签:CodeFirst string EF 详解 设置 注解 主键 name

数据注解特性是.NET特性,可以在EF或者EF Core中,应用于实体类上或者属性上进行生成数据表,并对表名、字段类型、长度、主键、是否为空、外键等进行设置。

1、命名空间

在EF 6和EF Core中,数据注解特性包含在System.ComponentModel.DataAnnotations命名空间和System.ComponentModel.DataAnnotations.Schema命名空间下。

2、详细说明

[Table(string name,[Schema = string])]

name 想要定义的表名称

Schema 可选参数,数据库的模式名称

 

[Column(string name,[Order = int],[TypeName = string])]

name 列名

Order 可选参数,列的顺序,从0开始,注意必须为每个属性都设置(不可重复)才能生效、

TypeName 可选参数,列的数据类型

 

[NotMapped]  不将该属性映射到数据库的列

 

[ForeignKey(string name)]  设置外键3种方式

 

[Index(string name)] 为列创建索引

IsClustered用来创建聚合索引, IsUnique用来创建唯一索引。

 

[InverseProperty(string name)]  有多个对应关系时,指定关系

[Key]  设为主键,若是为int类型,将自动设置为自增加列

[None] 用于不将主键设置为自增加列

[Required]  设置列不为空

[MaxLength(int)]  设置最大长度,只能用在string类型和byte[]数组类型

[ConcurrencyCheck]  修改或删除时,将带此属性的列的原有值与主键一块儿传送到数据库,若是传递的值与数据库中不一致,则修改或删除失败。用于并发检查

 

标签:CodeFirst,string,EF,详解,设置,注解,主键,name
From: https://www.cnblogs.com/jinjunnet/p/17883385.html

相关文章

  • does not have a SELinux domain defined. android 开机启动
    问题:dmesg [  46.089306]init:Servicemysvc2 doesnothaveaSELinuxdomaindefined. servicemysvc1/system/vendor/bin/app1classmainuserrootgrouprootsystemreadprocdisabledwritepid/dev/cpuset/foreground/tasksservicemysvc2......
  • go defer修改返回值
    golang在defer修改返回值时需要格外注意!如果未提前声明返回值的话,在defer中修改返回值是无效的操作。原因如下:packagemainfunctest1()int{ i:=1 deferfunc(){//实际则是将局部变量i的地址指针传入,调用runtime.deferproc函数 i++ }() returni//将i的......
  • 学习笔记----------------------SendMessage 详解【转】
    SendMessage函数的常用消息及其应用函数原型:DeclareFunctionSendMessageLib"user32"Alias"SendMessageA"(ByValhwndAsLong,_ByValwMsgAsLong,ByValwParamAsLong,lParamAsAny)AsLong 其中四个参数的含义和说明如下:1.hWnd:对象的句柄。希......
  • UML中九种图以及图中元素所代表的含义详解
    UML是一种建模语言,它用于描述系统的结构和行为。在UML1.4中提供了九种常用的图,如用例图、类图、对象图、状态图、活动图、时序图、协作图、组件图以及配置图。一、用例图:描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么。1.用例图......
  • 一文详解安全随机数
    本文分享自华为云社区《【安全攻防】深入浅出实战系列专题-安全随机数》,作者:MDKing。随机数的使用场景使用随机数可分类安全场景跟非安全场景。非安全场景需要生成的越快越好。安全场景使用的随机数必须足够安全,保证不能被预测到。常见的非安全场景:数据的索引号、标识;......
  • Codeforces Round 913 (Div. 3)
    CodeforcesRound913(Div.3)div3两题新纪录..我再也不喝完酒打cf了A.Rook#include<bits/stdc++.h>//#defineintlonglong#defineendl'\n'usingnamespacestd;intboard[10][10];voidsolve(){strings;cin>>s;intx=s[0]-&#......
  • 【题解】CodeForces 1902F Trees and XOR Queries Again
    传送门:https://codeforces.com/contest/1902/problem/F数据结构题,这里讲两种思路。$ST$表思路:判定“从若干个数中能否取出其中一些,使得异或和为$x$”的问题,第一时间想到线性基,本题要做的显然就是快速求出询问路径上所有数的线性基。两组数的线性基可以合并,方法为“暴力将......
  • HydroOJ 从入门到入土(4)控制面板-系统设置详解
    控制面板内众多配置项眼花缭乱,至于说明文档...这个真没有!这里的配置有很多,如果装了插件,有一些插件的配置项也是在这里修改,所以很有必要了解一下这些选项都是干什么的.目录SMTP设置服务器设置setting_limits各种保护性限制基础设置Session设置hydroojui-default显......
  • Java开发者必备:Maven简介及使用方法详解!
    今天我们来介绍一个在Java开发中非常重要的工具——Maven。如果你是一名Java开发者,那么你一定不会对Maven感到陌生。但是,对于一些新手来说,可能还不太了解Maven是什么,它有什么作用,以及如何使用它。接下来,就让我们一起来深入了解一下Maven吧!一、maven简介Maven是什么Maven是一个......
  • 一文详解安全随机数
    本文分享自华为云社区《【安全攻防】深入浅出实战系列专题-安全随机数》,作者:MDKing。随机数的使用场景使用随机数可分类安全场景跟非安全场景。非安全场景需要生成的越快越好。安全场景使用的随机数必须足够安全,保证不能被预测到。常见的非安全场景:数据的索引号、标识;文件的名称或......