.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=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项目

 

转载于:https://www.cnblogs.com/lcq529/p/8303627.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值