EF core的模型映射
在EF core里,可以通过实现IEntityTypeConfiguration来进行映射。
一、官网文档
https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-2.0
二、示例(.net core控制台程序)
示例使用的数据库是mysql
1、新建模型:
public class Students
{
public int Id { get; set; } public string Name { get; set; } public decimal Score { get; set; }
}
2、实现IEntityTypeConfiguration
public class StudentsMap : IEntityTypeConfiguration<Students>
{
public void Configure(EntityTypeBuilder<Students> builder)
{
builder.ToTable("Students");
builder.HasKey(m => m.Id);
builder.Property(m => m.Id).ValueGeneratedOnAdd();
builder.Property(m => m.Name);
}
}
3、定义context
public class SchoolContext : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseMySql("Server=localhost;port=3306;database=test;uid=root;pwd=pwd;Convert Zero Datetime=True;", b => b.MaxBatchSize());
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
builder.ApplyConfiguration(new StudentsMap());
}
}
4、使用migrations迁移命令,得到数据库。
5、测试添加数据
class Program
{
static void Main(string[] args)
{
using (var _context = new SchoolContext())
{
var stu = new Students()
{
Name = "test",
Score =
};
_context.Set<Students>().Add(stu);
_context.SaveChanges();
}
}
}
6、查看数据库,数据已经插入:

三、源码
https://github.com/DavideYang125/efcore_map_demo
EF core的模型映射的更多相关文章
- EF Core 配置模型
0 前言 本文的第一节,会概述配置模型的作用(对数据模型的补充描述). 第二节描述两种配置方式,即:数据注释(data annotations)和 Fluent API 方式. 第三节开始,主要是将常 ...
- ASP.NET Core 中使用EF Core 将实体映射到数据库表的方法(SQL Server)
前段时间听过一个关于使用ASP.NET Core建立项目的视频.其中使用EF Core映射到数据库的部分是按部就班地学习.今天自己建立项目时,有些步骤已经有一些遗忘.所以写下这篇文章,顺便理清思路. ...
- 举例说明EF CORE中模型之间的一对多、多对多关系的实现
该例子是我临时想出来的,不具有任何的实际意义.类图如图1所示. 图1 类代码: [Table("student")] public class Student { public i ...
- EF Core 2.0中如何手动映射数据库的视图为实体
由于Scaffold-DbContext指令目前还不支持自动映射数据库中的视图为实体,所以当我们想使用EF Core来读取数据库视图数据的时候,我们需要手动去做映射,本文介绍如何在EF Core中手动 ...
- EF Core 2.0 新特性
前言 目前 EF Core 的最新版本为 2.0.0-priview1-final,所以本篇文章主要是针对此版本的一些说明. 注意:如果你要在Visual Studio 中使用 .NET Core 2 ...
- EF Core 1.0中使用Include的小技巧
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:由于EF Core暂时不支持Lazy Loading,所以利用Include来加载额外 ...
- EntityFramework Core是否可以映射私有属性呢?了解一下。
前言 最近几天身体有点抱恙,说话都需要勇气,痛哭.今天简短的写一点探索性的内容,仅供了解,感谢您的阅读. EF Core映射私有属性 在EF 6.x系列中写过一篇文章可以映射私有属性,说明EF的灵活性 ...
- EntityFramework Core 自动绑定模型映射
笔者最近在和同事共同开发项目时,需要从他们提供的包含数据库实体类型的类库中读取实体信息绑定到自己的项目中(但是都在同一个解决方案里),所以很直接的一种方式就是把项目中所有的实体都以 public Db ...
- 第一节:EF Core简介和CodeFirst和DBFirst两种映射模式(以SQLite和SQLServer为例)
一. EF简介 1. 定义 Entity Framework (EF) Core 是轻量化.可扩展.开源和跨平台的数据访问技术,它还是一种对象关系映射器(ORM),它使.NET 开发人员能够使用面向对 ...
随机推荐
- time、datetime、calendar
time 1. Python中表示时间的方式 l 时间戳 l 格式化的时间字符串 l 元组(struct_time)共九个元素.由于Python的time模块实现主要调用C库,所以各个平台可能 ...
- 洛谷P3719 REXP 题解
题目 一道考验递归的题目,在面对这种字符串处理的题时,还是应该用递归这种比较好看懂而且比较简单写的算法. \(code\) ```c++ // luogu-judger-enable-o2 inclu ...
- HTML&CSS_基础01
一.预备知识: # 1. HTML5 是 W3C 与 WHATWG 合作的结果. W3C 指 World Wide Web Consortium,万维网联盟. WHATWG 指 Web H ...
- day049--jQuery文档操作示例
DOM操作(CRUD增改查删) 创建元素 $('span') // 创建一个span标签 后置插入操作 append(), appendTo() <!DOCTYPE html> < ...
- ajax+json
ajax学习: 1.ajax的概念 局部刷新技术.不是一门新技术,是多种技术的组合,是浏览器端的技术 2 为什么要使用ajax? 传统的模式 是 发送请求 到 服务器 ,服务器经过 ...
- vue-输入框change事件并获取值
1.html <input type="text" @change="specifiName($event)" /> 2.js var vm = n ...
- Jenkins-在windows上配置自动化部署(Jenkins+Gitblit)
Jenkins-在windows上配置自动化部署(Jenkins+Gitblit) 1. 安装好 Jenkins(注:安装目录需没有空格,否则安装gitlab hook 插件时会报错,安装在c盘跟目录 ...
- [面试] Java GC (未整理完)
Java GC简介 什么是 GC ? Java程序不用像C++程序在程序中自行处理内存的回收释放.这是因为Java在JVM虚拟机上增加了垃圾回收(GC)机制,用以在合适的时间触发垃圾回收. 你都了解哪 ...
- 20155324《网络对抗》Exp1 PC平台逆向破解(5)M
20155324<网络对抗>Exp1 PC平台逆向破解(5)M 实验目标 本次实践的对象是一个名为~pwn1~的~linux~可执行文件. 该程序正常执行流程是:~main~调用~foo~ ...
- Centos环境下安装mongoDB
安装前注意: 此教程是通过yum安装的.仅限64位centos系统 安装步骤: 1.创建仓库文件: vi /etc/yum.repos.d/mongodb-org-3.4.repo 然后复制下面配置, ...