.net Core学习笔记1 创建简单的 .net core项目
1.打开vs2017>Web

1:创建实体类:
namespace ProductMvc.Models
{
//商品类型
public class ProductType
{
public int ID { get; set; }
public string TypeName { get; set; } public Product Product { get; set; }
}
} namespace ProductMvc.Models
{
//商品
public class Product
{
public int ID { get; set; }
public string ProductName { get; set; } public DateTime ProductDate { get; set; } public decimal Price { get; set; }
public int TypeID { get; set; } public ICollection<ProductType> ProductType;
}
}
2:创建数据库上下文
namespace ProductMvc.Models
{
public class ProductContext:DbContext
{
public ProductContext(DbContextOptions<ProductContext> options):base (options)
{
}
public DbSet<ProductType> ProductType { get; set; }
public DbSet<Product> Product { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<ProductType>().ToTable("ProductType");
modelBuilder.Entity<Product>().ToTable("Product");
} }
}
3:打开Startup.cs文件,上下文依赖注入关系
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<SchoolContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("ProductConnection")));
services.AddMvc();
}
打开appsettings.json文件并添加连接字符串
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
},
"ConnectionStrings": {
"ProductConnection": "Server=(localdb)\\mssqllocaldb;Database=DBProcuct;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
添加数据:添加类DbInitializer
public class DbInitializer
{
public static void Initialize(ProductContext context)
{
context.Database.EnsureCreated();
if (context.Product.Any())
{
return;
}
var products = new Product[]
{
new Product{ProductName="牙膏",ProductDate=DateTime.Parse("2017-12-12"),Price=,TypeID=},
new Product{ProductName="毛巾",ProductDate=DateTime.Parse("2017-12-15"),Price=,TypeID=},
new Product{ProductName="电磁炉",ProductDate=DateTime.Parse("2017-12-12"),Price=,TypeID=},
new Product{ProductName="苹果",ProductDate=DateTime.Parse("2018-01-15"),Price=,TypeID=},
};
foreach (var item in products)
{
context.Product.Add(item);
}
context.SaveChanges(); var productType = new ProductType[]
{
new ProductType{ID=,TypeName="百货类"},
new ProductType{ID=,TypeName="电器类"},
new ProductType{ID=,TypeName="水果类"},
};
foreach (var item in productType)
{
context.ProductType.Add(item);
}
context.SaveChanges(); }
}
在Program.cs,修改Main方法来执行以下操作,在应用程序启动:
using (var scope = BuildWebHost(args).Services.CreateScope())
{
var services = scope.ServiceProvider;
try
{
var context = services.GetRequiredService<ProductContext>();
DbInitializer.Initialize(context);
}
catch (Exception ex)
{
var logger = services.GetRequiredService<ILogger<Program>>();
logger.LogError(ex, "Have error!!!"); }
}
BuildWebHost(args).Run();
添加控制器和视图:视图带有EF的MVC控制器

以上操作即创建好了一个简单的 .net Core项目
.net Core学习笔记1 创建简单的 .net core项目的更多相关文章
- ASP.NET Core 学习笔记 第四篇 ASP.NET Core 中的配置
前言 说道配置文件,基本大多数软件为了扩展性.灵活性都会涉及到配置文件,比如之前常见的app.config和web.config.然后再说.NET Core,很多都发生了变化.总体的来说技术在进步,新 ...
- .NET Core学习笔记(8)——Entity Framework Core之Database First
曾经我以为再也不会去弄啥Database First,然鹅我错了.这个世界上就是有啪啪打脸和真香的时候.当小伙伴拿着做好的DB表结构和SQL脚本递过来的时候,我知道我没法拒绝.望着他突起的肱二头肌和充 ...
- ASP.NET Core 学习笔记 第五篇 ASP.NET Core 中的选项
前言 还记得上一篇文章中所说的配置吗?本篇文章算是上一篇的延续吧.在 .NET Core 中读取配置文件大多数会为配置选项绑定一个POCO(Plain Old CLR Object)对象,并通过依赖注 ...
- .NET Core学习笔记(9)——Entity Framework Core之Code First
上篇我们介绍了怎么通过已有的SQLServer表来创建实体类,本篇我们改用Code First的方式,由C#代码书写的实体类来生成SQLServer表.并且通过简单的Console APP往SQLSe ...
- .NET CORE学习笔记系列(1)——ASP.NET MVC Core 介绍和项目解读
ASP.NET MVC Core 项目文件夹解读 一.项目文件夹总览 1.1.Properties——launchSettings.json 启动配置文件,你可以在项目中“Properties”文件夹 ...
- .NET 5学习笔记(10)——Entity Framework Core之切换SQLServer和SQLite
上一篇我们梳理了CodeFist的一般流程,本篇我们讨论如何在一套代码中,支持SQL Server和SQLite的切换.同时从本篇开始,我们从.NET Core 3.1 迁移到.NET 5.相信.NE ...
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
sql server 关于表中只增标识问题 由于我们系统时间用的过长,数据量大,设计是采用自增ID 我们插入数据的时候把ID也写进去,我们可以采用 关闭和开启自增标识 没有关闭的时候 ,提示一下错 ...
- .NET CORE学习笔记系列(2)——依赖注入[5]: 创建一个简易版的DI框架[下篇]
为了让读者朋友们能够对.NET Core DI框架的实现原理具有一个深刻而认识,我们采用与之类似的设计构架了一个名为Cat的DI框架.在上篇中我们介绍了Cat的基本编程模式,接下来我们就来聊聊Cat的 ...
- .NET CORE学习笔记系列(2)——依赖注入[4]: 创建一个简易版的DI框架[上篇]
原文https://www.cnblogs.com/artech/p/net-core-di-04.html 本系列文章旨在剖析.NET Core的依赖注入框架的实现原理,到目前为止我们通过三篇文章从 ...
随机推荐
- java String 不可变
关于String不可变的问题也看了很多,最近看了一篇讲的非常好的文章,总结如下 所谓的不可变,并非真的不可变String s = "123"; s = "456" ...
- Python 集合 深浅copy
一,集合. 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. ...
- JAVA入门(1.JAVA平台应用 2.核心概念:JVM,JDK,JRE 3.搭建JAVA开发环境 4.学习JAVA的原则)
主要内容: 1.JAVA平台应用 2.核心概念:JVM,JDK,JRE 3.搭建JAVA开发环境 4.学习JAVA的原则 JAVA的平台应用 JAVA的平台应用分为3个部分: 一.JAVA SE,主要 ...
- 七牛php-sdk使用-文件上传
使用七牛进行文件上传可以有多种方式: 直接form表单上传,需要自己按照文档做配置 使用七牛jssdk,部署较简单,大文件分片上传 php-sdk后台上传 首先,所有的上传方法以及所有的跟七牛接口相关 ...
- vue 购物车练习
本人看了vue官网上的教程后,感觉对vue的依稀有点了解,决定动手练习个小功能项目,就找了购物车本项目.原文链接:http://blog.csdn.net/take_dream_as_horse/ar ...
- 前端基于react,后端基于.net core2.0的开发之路(番外篇) 后端使用T4模板,生成某些类
1.介绍 因为开发过程中,有部分类是你加一个模型,就需要去改动的,每次加非常的烦,或者有些类,你只用到了他基类的方法,但是你还必须建一个文件才能调用他基类的方法,也很烦. 这个时候,T4就非常有用了. ...
- SQL server学习(二)表结构操作、SQL函数、高级查询
数据库查询的基本格式为: select ----输出(显示)你要查询出来的值 from -----查询的依据 where -----筛选条件(对依据(数据库中存在的表)) group by ----- ...
- python解析域名
#coding:utf-8 import socket def URL2IP(): for oneurl in urllist.readlines(): url=str(oneurl.strip()) ...
- SpringBoot(二)Web整合开发
Spring Boot (二):Web 综合开发 本篇文章接着上篇内容继续为大家介绍spring boot的其它特性(有些未必是spring boot体系桟的功能,但是是spring特别推荐的一些开源 ...
- BZOJ 1257: [CQOI2007]余数之和sum【神奇的做法,思维题】
1257: [CQOI2007]余数之和sum Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 4474 Solved: 2083[Submit][St ...