database context dependency injection

main
syneffort 2 years ago
parent 62e77721a9
commit 4ba185790d
  1. 18
      AspNetFrameworkMVC/AspNetCoreMVC/Controllers/UserController.cs
  2. 5
      AspNetFrameworkMVC/AspNetCoreMVC/DataContext/ModelDbContext.cs
  3. 6
      AspNetFrameworkMVC/AspNetCoreMVC/Program.cs

@ -8,19 +8,24 @@ namespace AspNetCoreMVC.Controllers
[Route("api/user")] // 컨트롤러 전체 라우터 설정
public class UserController : Controller
{
private ModelDbContext _db;
public UserController(ModelDbContext db)
{
_db = db;
}
[HttpGet("{id}")]
public JsonResult GetUser(int id)
{
var db = new ModelDbContext();
var user = db.Users.SingleOrDefault(u => u.Id == id);
var user = _db.Users.SingleOrDefault(u => u.Id == id);
return Json(user);
}
[HttpGet("v2/{id}")]
public IActionResult GetUser2(int id)
{
var db = new ModelDbContext();
var user = db.Users.SingleOrDefault(u => u.Id == id);
var user = _db.Users.SingleOrDefault(u => u.Id == id);
if (user == null)
return BadRequest("No data found");
@ -32,12 +37,11 @@ namespace AspNetCoreMVC.Controllers
{
try
{
var db = new ModelDbContext();
if (!ModelState.IsValid)
return Json(false);
db.Users.Add(user);
_db.Users.Add(user);
_db.SaveChanges();
return Json(true);
}
catch (Exception ex)

@ -9,10 +9,9 @@ namespace AspNetCoreMVC.DataContext
public DbSet<Person> Persons { get; set; }
public DbSet<User> Users { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
public ModelDbContext(DbContextOptions<ModelDbContext> option) : base(option)
{
string connectionString = "server=peacecloud.synology.me,21433;database=study;uid=study;pwd=Study1234";
optionsBuilder.UseSqlServer(connectionString);
}
}
}

@ -1,3 +1,6 @@
using AspNetCoreMVC.DataContext;
using Microsoft.EntityFrameworkCore;
namespace AspNetCoreMVC
{
public class Program
@ -9,6 +12,9 @@ namespace AspNetCoreMVC
// Add services to the container.
builder.Services.AddControllersWithViews();
// service registration
builder.Services.AddDbContext<ModelDbContext>(option => option.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
var app = builder.Build();
// Configure the HTTP request pipeline.

Loading…
Cancel
Save