首页 > 其他 > 详细

EF Core 搭建单侧环境

时间:2021-07-23 10:58:23      阅读:21      评论:0      收藏:0      [点我收藏+]

有时候想搭个环境做测试, 又记不住那些 command, 官方教程又啰嗦. git clone 模板又不太好管理, 索性记入在这里吧.

 

Install NuGet

dotnet add package Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore

dotnet add package Microsoft.EntityFrameworkCore.Design

dotnet add package Microsoft.EntityFrameworkCore.SqlServer

 

Files

Product.cs

namespace AzureGetStarted.Entity
{
    public class Product
    {
        public int Id { get; set; }
        public string Name { get; set; } = "";
    }
}

ApplicationDbContext.cs

using Microsoft.EntityFrameworkCore;

namespace AzureGetStarted.Entity
{
    public class ApplicationDbContext : DbContext
    {
        public ApplicationDbContext(
           DbContextOptions<ApplicationDbContext> options
        ) : base(options)
        {
        }

        public DbSet<Product> Products => Set<Product>();
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<Product>().ToTable("Product");
            modelBuilder.Entity<Product>().Property(e => e.Name).HasMaxLength(256);
        }
    }
}

appsettings.json

"ConnectionStrings": {
  "ApplicationDbContext": "Server=192.168.1.152;Database=AzureGetStarted;Trusted_Connection=True;MultipleActiveResultSets=true"
}

Startup.cs > ConfigureServices

services.AddDbContext<ApplicationDbContext>(options =>
{
    options.UseSqlServer(Configuration.GetConnectionString("ApplicationDbContext"));
});

cmd

dotnet ef migrations add init
dotnet ef database update

Index.cshtml

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.Logging;
using AzureGetStarted.Entity;
using Microsoft.EntityFrameworkCore;

namespace AzureGetStarted.Pages
{
    public class IndexModel : PageModel
    {
        private readonly ILogger<IndexModel> _logger;
        private readonly ApplicationDbContext _db;

        public IndexModel(
            ILogger<IndexModel> logger,
            ApplicationDbContext Db
        )
        {
            _logger = logger;
            _db = Db;
        }

        public async Task OnGetAsync()
        {
            var products = await _db.Products.ToListAsync();
            _db.Products.Add(new Product { Name = "Product1" });
            await _db.SaveChangesAsync();
        }
    }
}

 

EF Core 搭建单侧环境

原文:https://www.cnblogs.com/keatkeat/p/15047395.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!