数据类型的约定配置

默认规则

列的数据类型是由数据库决定的,SqlServer的默认规则如下

String: nvarchar(MAX)

Int:int

Bool:bit

Decimal:decimal(18,2)

Byte[]:varbinary(MAX)

DataAnnotation

[Column(TypeName=”varchar”)]

Fluent

modelBuilder.Entity<Category>().Property(c=>c.Name).HasColumnType(“varchar”)

数据类型的长度约定配置

默认规则

max

DataAnnotation

[MaxLength(100)]

[MinLength(10)]

[StringLength(50)]

Fluent

modelBuilder.Entity<Category>().Property(c=>c.Name).HasMaxLength(50)

列是否可空的约定配置

默认规则

主键非空

外键可以为空

Int,bit,decimal,dateTime非空

Varchar,varbiary 可以为空

DataAnnotation

[Required]

Fluent

modelBuilder.Entity<Category>().Property(t=>t.Name).IsRequired()

主键约定配置

默认规则

属性名称是Id,或者是类名称+Id作为主键

DataAnnotation

[Key]

Fluent

modelBuilder.Entity<Category>().HasKey(c=>c.Id)

EF框架要求每个实体都要有主键,没有主键会抛出异常,当你的主键是GUID时,需要特别处理,DataAnnotation :[Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)]

Fluent:modelBuilder.Entity<Category>().Porperty(c=>c.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity)

时间戳

只有byte[]类型的属性可以映射TimeStamp

DataAnnotation:[Timespamp]

Fluent:modelBuilder.Entity<Category>().Property(c=>c.RowVersion).IsRowVersion()

Unicode数据类型

默认规则

默认为Unicode数据

DataAnnotation

不能配置

Fluent

IsUnicode()

Decimal设置

默认规则

(8,2)

DataAnnotation

不可以设置

Fluent

HasPrecision(10,2)

复杂的数据类型

默认规则

复杂类型没有Key属性,用做其他类属性时,不能用做集合属性

DataAnnotation

[Complex]

Fluent

modelBuilder.Complex<Address>()

转载于:https://www.cnblogs.com/50614090/archive/2012/02/16/2354117.html

Code First 数据库的表中属性的配置相关推荐

  1. mysql doc插入数据_如何向MySQL数据库的表中录入数据.doc

    如何向MySQL数据库的表中录入数据 当建好了数据库及表时,首先想到的就是向数据库的表中输入数据,这就涉及到如何向数据库录入数据,下面我们就来探讨一下这个问题. 1.常用的方法是使用insert语句( ...

  2. 如何在mysql中录入数据库_如何向MySQL数据库的表中录入数据

    当你建好了数据库及表时,你首先想到的就是向数据库的表中输入数据.这就牵涉到如何向数据库增加数据.下面我们就来探讨一下这个问题: 1.一般我们常用的方法是insert语句(这里假定各位的版本都不是很低) ...

  3. 如何在mysql上输入数据表_向MySQL数据库的表中录入数据的方法

    MySQL数据库应用范围相对来说还是比较广泛的,MySQL数据库操作涉及到的知识还是很多的,其中,当你建好了数据库及表时,你首先想到的就是向数据库的表中输入数据.这就牵涉到如何向数据库增加数据.下面我 ...

  4. mysql数据库怎么输入数据_如何向MySQL数据库的表中录入数据

    当你建好了数据库及表时,你首先想到的就是向数据库的表中输入数据.这就牵涉到如何向数据库增加数据.下面我们就来探讨一下这个问题: 1.一般我们常用的方法是insert语句(这里假定各位的版本都不是很低) ...

  5. MySQL federated存储引擎--访问在远程数据库的表中的数据,而不是本地的表

    一.FEDERATED简介 federated就像他的名字所说"联盟",意思就是:把两个不同区域的数据库联系起来,以致可以访问在远程数据库的表中的数据,而不是本地的表. 二.安装F ...

  6. 本地MySQL数据库要访问远程MySQL数据库的表中的数据的实现

    转自: http://blog.csdn.net/jenminzhang/article/details/9872647 1.实现基本思路:借助 MySQL的 federated 存储引擎实现 fed ...

  7. mysql创建表属性引_【学习之Mysql数据库】mysql数据库创建表的属性详解

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 MySQL中create table语句的基本语法是: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name ...

  8. booleanfield()和booleanfield(default=True)在数据库的表中无法插入

    1. 解决方法: 1.实例化对象: 在terminal中执行: 查看数据库表中是否插入成功: 转载于:https://www.cnblogs.com/Zhao159461/p/10907531.htm ...

  9. 清空数据库所有表中的数据

    GPS平台.网站建设.软件开发.系统运维,找森大网络科技! https://cnsendnet.taobao.com 来自森大科技官方博客 http://www.cnsendblog.com/inde ...

最新文章

  1. 【数据结构】最小生成树 Prim算法 Kruskal算法
  2. mysql中的sql_mysql中的sql语句
  3. Okhttp使用简析——Android网络请求框架(一)
  4. 240多个jQuery插件 功能强大 齐全
  5. set的find()函数
  6. js 浮点数精度问题 可以用accounting.js解决
  7. 如何将stdin、stdout、stderr重定向到/dev/null
  8. 编程语言python入门-编程语言入门(以python为例)
  9. TopOn的两种测试方法
  10. 计算机图形学完整笔记(七):曲线曲面 - 1
  11. masm32快速编辑器菜单翻译整理
  12. scratch好书推荐
  13. 统一诊断服务(UDS)否定响应也可以被抑制
  14. 7-85 根据输入的空气污染指数,输出相应的信息。
  15. 域名系统(Domain Name System,DNS)
  16. intel无盘服务器,英特尔网吧服务器
  17. Ka的分治|归并排序,注释详尽
  18. 好女人必看行为守则100条----男人也学学吧!
  19. 数据库实验四 数据库恢复与安全性
  20. Unity 3d转2d再转3d

热门文章

  1. 鸿蒙系统手机还会出吗,华为最强手机即将到来,可能还有华为鸿蒙系统加入!你期待吗?...
  2. 单调谐回路谐振放大器等效电路分析_谐振回路的工作原理
  3. 1.72java8_JDK 1.7 1.8 新特性
  4. 度量相似性的一些指标/函数
  5. 比较array相等_如何处理JavaScript比较中的临界问题
  6. 如何将文件从安卓设备中拷贝到PC中
  7. serv-u 自定义html,Serv-U架设教程_Serv-U使用教程图文版
  8. php bootstraptable分页,Bootstrap table分页问题汇总【附答案代码】
  9. “N+虚拟现实行业高峰论坛”成功举办,共创VR美好未来
  10. Rook存储:Kubernetes中最优秀的存储