Mego(06) - 关系数据库建模
框架中提供了多种数据注释以便可以全面的描述数据库结构特性。
自增列
可以使用注释声明指定列是数据库自增列,同时能指定自增的起始及步长。
public class Blog { [Identity(, )] public int BlogId { get; set; } public string Url { get; set; } }
表映射
表映射标识该从数据库中哪些表数据查询或保存数据。
[Table("blogs")] public class Blog { public int BlogId { get; set; } public string Url { get; set; } }
列映射
列映射标识应该从数据库的哪些列查询或保存数据。
public class Blog { [Column("blog_id")] public int BlogId { get; set; } public string Url { get; set; } }
数据类型
数据类型是指属性映射到的列的数据库特定类型。
public class Blog { public int BlogId { get; set; } [Column(nameof(Url), "varchar(200)")] public string Url { get; set; } [Column(nameof(Rating), "decimal(5, 2)")] public decimal Rating { get; set; } }
计算列
计算列是其值在数据库中计算的列。计算列可以使用表中的其他列来计算其值。
public class Person { public int PersonId { get; set; } public string FirstName { get; set; } public string LastName { get; set; } [Computed("[LastName] + ', ' + [FirstName]")] public string DisplayName { get; set; } }
默认值
列的默认值是插入新行但未为该列指定值时将插入的值。
public class Blog { public int BlogId { get; set; } public string Url { get; set; } [Default(")] public int Rating { get; set; } }
长度
配置长度向数据存储提供关于用于给定属性的适当数据类型的提示。最大长度仅适用于数组数据类型,例如byte[]
。
public class Blog { public int BlogId { get; set; } [Length(, false)] public byte[] Image { get; set; } }
字符串
用于配置字符串的类型信息。
public class Blog { public int BlogId { get; set; } [String(, false)] public string Url { get; set; } }
精度
用于配置存精度信息的数据类型列,例如decimal。
public class Product { public int Id { get; set; } [Precision(,)] public decimal Price { get; set; } }
Mego(06) - 关系数据库建模的更多相关文章
- asp.net core系列 29 EF模型配置(查询类型,关系数据库建模)
一.查询类型 此功能是EF Core 2.1中的新功能. EF Core除了实体类型之外,EF Core模型还可以包含查询类型,这些查询类型是针对“未映射到实体类型”的数据获取.比如视图,或只读数据表 ...
- Mego(08) - 高级建模
对于模型建立Mego还提供了一些高级主题 数据库函数映射 我们可以将现有的CLR方法映射到指定数据库的标题函数上,如下所示 public class OrderManageEntities : DbC ...
- (23)ASP.NET Core EF关系数据库建模
1.简介 一般而言,本部分中的配置适用于关系数据库.安装关系数据库提供程序时,此处显示的变为可用扩展方法(原因在于共享的Microsoft.EntityFrameworkCore.Relational ...
- Mego(03) - ORM框架的新选择
前言 从之前的两遍文章可以看出ORM的现状. Mego(01) - NET中主流ORM框架性能对比 Mego(02) - NET主流ORM框架分析 首先我们先谈下一个我们希望的ORM框架是什么样子的: ...
- 大数据架构师NoSQL建模技术
从数据建模的角度对NoSQL家族系统做了比较简单的比较,并简要介绍几种常见建模技术. 1.前言 为了适应大数据应用场景的要求,Hadoop以及NoSQL等与传统企业平台完全不同的新兴架构迅速地崛起.而 ...
- 大数据架构师必读的NoSQL建模技术
大数据架构师必读的NoSQL建模技术 从数据建模的角度对NoSQL家族系统做了比较简单的比较,并简要介绍几种常见建模技术. 1.前言 为了适应大数据应用场景的要求,Hadoop以及NoSQL等与传统企 ...
- Web应用 布局
asp.net core系列 44 Web应用 布局 一.概述 MVC的视图与Razor页面经常共享视觉和程序元素,通过使用布局来完成,布局还可减少重复代码.本章演示了以下内容的操作方法:(1)使用通 ...
- DDD/CQRS模式,微服务,容器
DDD/CQRS模式,微服务,容器 https://docs.microsoft.com/zh-cn/previous-versions/msp-n-p/ee658109(v=pandp.10) We ...
- 【目录】asp.net core系列篇
随笔分类 - asp.net core系列篇 asp.net core系列 68 Filter管道过滤器 摘要: 一.概述 本篇详细了解一下asp.net core filters,filter叫&q ...
随机推荐
- 小程序 for循环 报错 Cannot read property 'total' of undefined
for循环一直报错 Cannot read property 'total' of undefined,但total在起初是有定义的,后来找到了问题,是i<=的问题,改为<不报错了. i ...
- python数据类型——字符串类型
字符串(string) 字符串,就是字符连成一串,是由字符组成的序列.字符串有编码问题,在之前我已经讲过.本节主要讲字符串的使用. 创建字符串,不用多说: a='123abcd' b='diamond ...
- UML那些事
什么是UML?它的全名:Unified Modeling Language,统一建模语言.最近我用到了uml,顺便重温了下这些知识.知乎上有一个讨论话题:uml还有用吗?这个讨论挺有意思的,看完后,受 ...
- Injection of autowired dependencies failed
error:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mainCo ...
- 20.DOM
定义 文档对象模型(Document Object Model)是一种用于HTML和XML文档的编程接口. 查找元素 1.直接查找 document.getElementById 根据ID获取一个标签 ...
- 怎么用secureCRT连接Linux
首先要安装linux,参看:http://www.cnblogs.com/shenjieblog/p/5061282.html 然后要安装secureCRT,参看:http://www.cnblogs ...
- ER图
E-R图也称实体-联系图(Entity Relationship Diagram), 提供了表示实体类型.属性和联系的方法,用来描述现实世界的概念模型. 它是描述现实世界概念结构模型的有效方法.是表示 ...
- 以太坊go-ethereum签名部分源码解析
以太坊go-ethereum签名部分源码解析 golang标准库里的crypto/ecdsa椭圆曲线加密算法所提供的函数有: ecdsa.PublicKey结构体通过持有一个elliptic,Curv ...
- MYSQL数据库学习十 单表数据记录查询
10.1 简单数据记录查询 SELECT field1,field2,...fieldn FROM table_name; “*” ——查询所有记录 SELECT * FROM table_name; ...
- 模拟select选中option的效果
大致情况如下:网页上有一个表单,表单中有一个select类型的控件,我要选择option后,表单相对应的input部分会option自动填充选中数据. 我想要的是:实现一个网页上的效果,在这个页面被打 ...