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

@ -9,10 +9,9 @@ namespace AspNetCoreMVC.DataContext
public DbSet<Person> Persons { get; set; } public DbSet<Person> Persons { get; set; }
public DbSet<User> Users { 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 namespace AspNetCoreMVC
{ {
public class Program public class Program
@ -9,6 +12,9 @@ namespace AspNetCoreMVC
// Add services to the container. // Add services to the container.
builder.Services.AddControllersWithViews(); builder.Services.AddControllersWithViews();
// service registration
builder.Services.AddDbContext<ModelDbContext>(option => option.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
var app = builder.Build(); var app = builder.Build();
// Configure the HTTP request pipeline. // Configure the HTTP request pipeline.

Loading…
Cancel
Save