.net Core学习笔记1 创建简单的 .net core项目
程序员文章站
2022-07-08 14:18:28
1.打开vs2017>Web 1:创建实体类: 2:创建数据库上下文 3:打开Startup.cs文件,上下文依赖注入关系 打开appsettings.json文件并添加连接字符串 添加数据:添加类DbInitializer 在Program.cs,修改Main方法来执行以下操作,在应用程序启动: ......
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=25,TypeID=1}, new Product{ProductName="毛巾",ProductDate=DateTime.Parse("2017-12-15"),Price=15,TypeID=1}, new Product{ProductName="电磁炉",ProductDate=DateTime.Parse("2017-12-12"),Price=25,TypeID=2}, new Product{ProductName="苹果",ProductDate=DateTime.Parse("2018-01-15"),Price=6,TypeID=3}, }; foreach (var item in products) { context.Product.Add(item); } context.SaveChanges(); var productType = new ProductType[] { new ProductType{ID=1,TypeName="百货类"}, new ProductType{ID=2,TypeName="电器类"}, new ProductType{ID=3,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项目
推荐阅读
-
MVC5项目转.Net Core 2.2学习与填坑记录(1)
-
创建基于ASP.NET core 3.1 的RazorPagesMovie项目(一)-创建和使用默认的模板
-
创建基于ASP.NET core 3.1 的RazorPagesMovie项目(三)-已搭建基架的Razor页面解释和更新
-
Orleans[NET Core 3.1] 学习笔记(四)( 2 )获取Grain的方式
-
【从零开始搭建自己的.NET Core Api框架】(一)创建项目并集成swagger:1.2 完善
-
VS2017怎么创建创建空的ASP.NET Core Web项目?
-
.Net Core WebApi的简单创建以及使用方法
-
Orleans[NET Core 3.1] 学习笔记(四)( 1 )创建项目
-
Asp.net core 2.0.1 Razor 的使用学习笔记(一)
-
ASP.NET Core MVC的基础学习笔记