μλ
νμΈμ
EFCore μ΄μ©ν κ°λ°μ€ μλ¬Έμ μ΄μκ²Όλλ° μμμνκ² ν΄λ΅μ λͺ»μ°Ύμμ μ§λ¬Έλ립λλ€β¦
public class DBDelegater
{
private readonly ControleServerBase.DB.DbContextFactory<ControlContext> _contextFactory;
ControleServerBase.DB.Context.ControlContext Context { get; set; }
string[] blank = { "" };
public DBDelegater()
{
_contextFactory = new();
Context = _contextFactory.CreateDbContext(blank);
}
public async Task<DBModels.MobileSet> GetPosition(StatusData dtoContent)
{
~~~
await Context.Positions.AddAsync(mobileSet.daoPosition);
await Context.SaveChangesAsync();
mobileSet.daoVacuum.positionId = mobileSet.daoPosition.id;
await Context.Vacuums.AddAsync(mobileSet.daoVacuum);
await Context.SaveChangesAsync();
~~~
}
public async Task<DBModels.MobileSet> GetPosition2(StatusData dtoContent)
{
~~~
await Context.Positions2.AddAsync(mobileSet.daoPosition);
await Context.SaveChangesAsync();
mobileSet.daoVacuum.positionId = mobileSet.daoPosition.id;
await Context.Vacuums2.AddAsync(mobileSet.daoVacuum);
await Context.SaveChangesAsync();
~~~
}
}
μμκ°μ΄ DBDelegaterλΌλλ μμμ λͺ¨λ DBμμ
μ μ§ννκ² νκ³
λ€ λΉλκΈ°μμΌλ‘ μμ
μ΄ λμκ°κ³ μλμνμ
λλ€
μ§λ¬Έμ μλμκ°μ΅λλ€
-
GetPosition ν¨μμ λ΄μ©μ²λΌ Positions ν μ΄λΈμ λ°μ΄ν°λ₯Ό λ£κ³ autoincrement λ‘ μλμμ±λ idλ₯Ό Vacuums λ°μ΄ν°μ μ λ ₯ν ν μ΄λΈμ μ§μ΄λ£λ λ‘μ§μ΄ μλλ°
μ΄κ²½μ° SaveChangesλ₯Ό λλ²μ§ννκ²λλλ° μ΄λ₯Ό κ°μνλ λ°©λ²μ΄ μμκΉμ??? -
Contextλ₯Ό νλ μμ±νλ€ μ΄λ₯Ό λλ €μ°κ³ μλλ° λ§μ½ λΉλκΈ°λ‘ μ¬λ¬κ° ν¨μκ° λμκ°κ³ μλμνμμ νλκ° AddAsyncλ‘ λ°μ΄ν°λ₯Ό μ λ ₯ν΄λκ³ SaveChagesλ‘ ν μ΄λΈμ λ°μλλ μ¬μ΄μ
λ€λ₯Έ ν¨μμμ Context.ChangeTracker.Clear(); μμ μν΄μ νΈλμ»€κ° μ΄κΈ°νλκ²½μ°κ° λ°μν μμλμ??
μΌλ¨ jmeter μ΄μ©ν΄μ μΌλΆλ‘ λ°μμμΌλ³΄λ €κ³ νμλ ν΄λΉ μλ¬κ° λ°μμ μλμλλ° μμμνκ² μ΄ν΄κ° λμ§μμμ μ§λ¬Έλ립λλ€
κ°μ¬ν©λλ€β¦