.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的依赖注入框架的实现原理,到目前为止我们通过三篇文章从 ...
随机推荐
- BinderPool — Andorid端的“服务发现治理工具”
导语 最近在学习微服务相关知识,突然想到:微服务的思想虽然是在server端的场景下提出来的,但是无论是server,还是移动端,思想是相通的,移动端也会有多服务的场景,就同样面临多服务需要整合治理的 ...
- VI命令汇总
ia/Ao/Or + ?替换 0:文件当前行的开头$:文件当前行的末尾G:文件的最后一行开头:n :文件中第n行的开头 dd:删除一行3dd:删除3行yy:复制一行3yy:复制3行p:粘贴u:undo ...
- IIS 应用程序池自动停止
IIS7 .NET Runtime version 2.0.50727.5420 - 执行引擎错误(000007FEE77AAF0E) (80131506) 装完系统,配置完IIS,发现.NET程序报 ...
- C#互操作处理(一)
C#互操作的类型基本位于System.Runtime.InteropServices命名空间下,本系列随笔主要记录本人在开发过程中使用的到一些类型函数.技巧及工具 计算类型的大小 int size = ...
- NoSQL:Linux操作memcached
一 NoSQL简介 NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL",泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付 ...
- jetty和tomcat的区别
jetty:是一个开源的servlet容器,基于java的web容器,例如给jsp和servlet提供运行环境,jetty是使用java编写的,他的api是一组以jar包的形式发布,开发人员可以将je ...
- 分布式架构ActiveMQ的安装与使用(单节点)
具体内容请参考样例代码和视频教程: http://www.roncoo.com/course/view/85d6008fe77c4199b0cdd2885eaeee53 IP:192.168.4. ...
- 14、ABPZero系列教程之拼多多卖家工具 新建微信公众号模块
说是模块,其实在MVC中就是区域,新建一个区域专门管理整个微信功能. Web项目新建区域 在Web项目Areas目录下新建一个区域,名称为“Weixin",如下图: 接着打开web.conf ...
- python制作wifi破解(跑字典(单线程))
很鸡巴简单,接上一篇文章 import pywifi import sys import time from pywifi import const def test_wifi_connect(pas ...
- CF 610E. Alphabet Permutations
题目:http://codeforces.com/problemset/problem/610/E 如果存在c1,c2在原串相邻且在询问串中c1在c2前面的话,把它们在原串出现次数加起来记作sum,那 ...