.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安 ...
随机推荐
- C & C++ 宏与const
1.宏定义函数: 例:#define do{exp} while(0)与#define exp有什么不同,好处在哪里? 定义复杂代码,防止分号,或是括号不匹配等错误.比如: 定义: #define s ...
- 【英宝通Unity4.0公开课学习 】(三)脚本使用
清明出去放松了一天. 看了下大姑爷,然后去大姑家吃了个午饭,下午三点左右出去找煤球耍,在他们学校和良乡镇逛了一下.当时感觉离北京好远好远啊... 其实不得不说现在的交通确实很方便,到哪都要不了几天,如 ...
- 在Eclipse中配置Maven插件
--------------------------siwuxie095 在 Eclipse 中配置 Maven 插件 ...
- 虚拟机安装Centos6.5服务器系统
前言: 工作需要,研究Linux数日,写下此教程,意在给其他初学者参考学习,亦是给自己留作备用.好记性不如烂笔头,毕竟只是偶尔使用,留下教程,以备不时之需. 对于学习研究Linux的新手,个人推荐VM ...
- 数字组合 · Combination Sum
不能重复: [抄题]: 给出一个候选数字的set(C)和目标数字(T),找到C中所有的组合,使找出的数字和为T.C中的数字可以无限制重复被选取. 例如,给出候选数组[2,3,6,7]和目标数字7,所求 ...
- handler通信机制
package com.example.gp08_day26_handler3; import android.os.Bundle; import android.os.Handler; import ...
- CodeSmith生成SQL Server视图的实体类脚本/对应的生成模板
C#生成sql视图的实体类 using System;using System.Text;using CodeSmith.Engine;using SchemaExplorer;using Syste ...
- program by the way......
ostrich birds fruit apple constructor height weight method overload override base sub inherit extend ...
- POJ2585 Window Pains 拓扑排序
Window Pains Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1843 Accepted: 919 Descr ...
- 12月6日 被引入的jsp 页面,引入 js 要注意结束符 要用 </script> 而不是 />
12月6日 被引入的jsp 页面,引入 js 要注意结束符 要用 </script> 而不是 />