.Net core,EFCore 入门
我在百度上搜了一下.net core和efcore 入门案例。好多博客都是大概说了一下做法,对于小白而言还是一头雾水,我今天就抽出一点时间,写一个详细的入门小案例,就一张表没有什么业务可言。主要是操作的步骤,当然这只是让小白入个门,以后到公司工作,每个项目经理搭的架构不完全一样,但是我们懂了基本的,再做项目架构稍微复杂的就能很快上手,因为底层原理大同小异。话不多说我们开始动手做吧。
- 为了我们后期更好打开项目我们新建一个项目解决方案这个你们随意,咱们这个项目做
 
NETCOREDemo.

2.在解决方案下,打开VS2017新建项目,选择ASP.NET Core Web应用程序

3. ASP.NET Core 的版本自己可以选择,咱们这里选择2.0。选择空然后确定。

4.添加相关引用
有两种方式
第一种采用命令行:这个我就不多说了,可以百度一下命令行安装EFCore相关包(不同的数据库包也不一样,搜索的时候关键带上自己的数据库)
第二种简单好用:我就以SQLSERVER数据库为例,我们新建好的项目有个依赖项,我们右键>点击NuGet程序包

5.点浏览搜索一.Microsoft.EntityFrameworkCore.SqlSerVer 二. Microsoft.EntityFrameworkCore.Tools 这两个包然后安装
6.添加好引用后,继续设计数据库,采用EFCore CodeFirst,我们先建立一个文件夹Models
在文件夹下添加这个类:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks; namespace MyNoteItem.Models
{
public class Note
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] // 主键自增id
public int Id { get; set; }
[Required]
[MaxLength(100)]
public string Title { get; set; }
[Required]
public string Content { get; set; }
public DateTime Create { get;set; }
}
}
7.接着在Models下创建一个NoteContext继承我们的上下文DbContext
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks; namespace MyNoteItem.Models
{
public class NoteContext:DbContext
{ public NoteContext(DbContextOptions<NoteContext> options) : base(options)
{ }
public DbSet<Note> Notes { get; set; } }
}
8.打开Startup.cs添加如下代码,当然连接串因自己的数据库用户和密码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.EntityFrameworkCore;
using MyNoteItem.Models;
using MyNoteItem.Repository; namespace MyNoteItem
{
public class Startup
{ public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
var connection = @"Server=LAPTOP-OEENOHEO\LOCAL;DataBase=Note;UID=sa;PWD=sa123;";
services.AddDbContext<NoteContext>(options=>options.UseSqlServer(connection));
services.AddScoped<INoteRepository, NoteRepository>(); } public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
} app.UseStaticFiles(); app.UseMvc(routes => //为程序注册路由,默认打开的页面
{
routes.MapRoute(
name: "default",
template: "{controller=Note}/{action=Index}/{id?}");
});
} }
}
9.单击VS的菜单>工具>NuGet包管理器>程序包管理控制台,打开后在程序包管理器控制台执行如下命令:
Add-Migration NoteFirst
Update-Database
执行完出现Done表示 成功,查看数据库,看是否生成对应的数据库。如出现错误检查一下数据库连接串是否正确。EF Core 默认生成的表名为复数形式,可以在NoteContext的OnModelCreating方法改写(具体可以百度)。
10.接下来项目一步步搭建,项目结构如下:

11.项目运行结果如下:

12.虽然是个入门demo,代码量还是有的,所以我放在了我的GitHub上,供大家免费下载,地址如下:
https://github.com/LZYSW/.NetCoreDemo1.git
后续分页等功能。让我期待下一期的到来吧!希望对大家有用。
.Net core,EFCore 入门的更多相关文章
- Asp.Net Core WebAPI入门整理(二)简单示例
		
一.Core WebAPI中的序列化 使用的是Newtonsoft.Json,自定义全局配置处理: // This method gets called by the runtime. Use thi ...
 - 《驾驭Core Data》 第二章 Core Data入门
		
本文由海水的味道编译整理,请勿转载,请勿用于商业用途. 当前版本号:0.4.0 第二章 Core Data入门 本章将讲解Core Data框架中涉及的基本概念,以及一个简单的Core Data ...
 - 005.Getting started with ASP.NET Core MVC and Visual Studio -- 【VS开发asp.net core mvc 入门】
		
Getting started with ASP.NET Core MVC and Visual Studio VS开发asp.net core mvc 入门 2017-3-7 2 分钟阅读时长 本文 ...
 - .NET Core 快速入门教程
		
.NET Core 快速学习.入门系列教程.这个入门系列教程主要跟大家聊聊.NET Core的前世今生,以及Windows.Linux(CentOS.Ubuntu)基础开发环境的搭建.第一个.NET ...
 - .NET Core快速入门教程 2、我的第一个.NET Core App(Windows篇)
		
一.前言 本篇开发环境?1.操作系统: Windows 10 X642.SDK: .NET Core 2.0 Preview 二.安装 .NET Core SDK 1.下载 .NET Core下载地址 ...
 - asp.net core轻松入门之MVC中Options读取配置文件
		
接上一篇中讲到利用Bind方法读取配置文件 ASP.NET Core轻松入门Bind读取配置文件到C#实例 那么在这篇文章中,我将在上一篇文章的基础上,利用Options方法读取配置文件 首先注册MV ...
 - .NET Core快速入门教程 5、使用VS Code进行C#代码调试的技巧
		
一.前言 为什么要调试代码?通过调试可以让我们了解代码运行过程中的代码执行信息,比如变量的值等等.通常调试代码是为了方便我们发现代码中的bug.ken.io觉得熟练代码调试技巧是成为合格程序员的基本要 ...
 - .NET Core快速入门教程 4、使用VS Code开发.NET Core控制台应用程序
		
一.前言 为什么选择VS Code?VS Code 是一款跨平台的代码编辑器,想想他的哥哥VS,并是微软出品的宇宙第一IDE,那作为VS的弟弟,VS Code 也不会差,毕竟微软出品.反正ken是这么 ...
 - .NET Core快速入门教程 3、我的第一个.NET Core App (CentOS篇)
		
一.前言 本篇开发环境?1.操作系统:CentOS7(因为ken比较偏爱CentOS7)2.SDK版本:.NET Core 2.0 Preview 你可能需要的前置知识1.了解如何通过Hyper-V安 ...
 
随机推荐
- Java 深浅拷贝
			
2016-07-02 1深拷贝:不仅拷贝对象,而且对象所引用地址的内容一块拷贝.改变一个对象的某个属性,并不影响另一个对象所引用的内容. 2浅拷贝:仅拷贝对象本身,并不对所引用(所指的)内容进行拷贝, ...
 - oracle 将逗号分隔的字符串转成多行记录
			
, rownum), length(, rownum, length(replace('a,b,c,d', ',', '')), length('a,b,c,d') from dual connect ...
 - 交叉字符串 · Interleaving String
			
[抄题]: 给出三个字符串:s1.s2.s3,判断s3是否由s1和s2交叉构成.(洗牌) 比如 s1 = "aabcc" s2 = "dbbca" - 当 s3 ...
 - apache中开启rewrite
			
1.在apache配置文件httpd.conf中找到如下行: #LoadModule rewrite_module modules/mod_rewrite.so 去掉该行前面的#号 2.在httpd. ...
 - win下php的memcached的安装与使用
			
1.memcache的php扩展与memcached服务器的区别? php要操作memcached就必须要安装memcache的扩展, 在http://windows.php.net/download ...
 - js 判断字符串是否包含某字符串,String对象中查找子字符,indexOf
			
var Cts = "bblText"; if(Cts.indexOf("Text") > 0 ) { alert('Cts中包含Text字符 ...
 - item2
			
一.简介 iTerm2 是 OS X 下一款开源免费的的终端工具,很多人基本用它替代了原生的 Terminal. 二.特色功能 https://www.zhihu.com/question/274 ...
 - Step1-有序顺序表
			
#include<stdio.h> #define N 100 typedef struct jcb{ ]; int arrtime; int reqtime; }jcb; jcb job ...
 - select查询
			
4.2 查询功能 SQL的核心是查询.SQL的查询命令也称作SELECT命令,它的基本形式由SELECT-FROM-WHERE查询块组成,多个查询块可以嵌套执行. 以下表为以后的例子中使用表: 档案 ...
 - ubuntu下设置DNS服务器
			
当网卡通过DHCP获取IP地址时,DHCP会根据DHCP服务器配置,自动给系统分配DNS服务器地址,此时执行 ping www.baidu.com 动作,会将百度的域名在本地转换成ip地址,然后走路由 ...