[C#] Entity Framework 첨삭 및 트랜잭션 작업
DbEntity db = new DbEntity();
// , , ( ), , NULL( )
var user = new User
{
Name = "bomo",
Age = 21,
Gender = "male"
};
db.User.Add(user);
db.SaveChanges();
2. 대상을 삭제한다. 대상을 삭제하려면 키만 있으면 된다.
DbEntity db = new DbEntity();
// , 5
var user = new User {Id = 5};
//
db.User.Attach(user);
// :
db.User.Remove(user);
// :
//db.Entry(user).State = EntityState.Deleted;
db.SaveChanges();
3. 객체 수정
방법1:
DbEntity db = new DbEntity();
// , : , NULL
var user = new User
{
Id = 5,
Name = "bomo",
Age = 21,
Gender = "male"
};
//
db.User.Attach(user);
// Modified
db.Entry(user).State = EntityState.Modified;
db.SaveChanges();
방법2: 방법1에서 매번 모든 필드를 수정해야 하는데 효율이 낮고 번거롭다. 다음은 일부 필드를 수정하는 것을 소개한다.
DbEntity db = new DbEntity();
// , : , NULL
var user = new User
{
Id = 5,
Name = "bomo",
Age = 21
};
//
db.User.Attach(user);
// user ,
var setEntry = ((IObjectContextAdapter) db).ObjectContext.ObjectStateManager.GetObjectStateEntry(user);
// Name Age
setEntry.SetModifiedProperty("Name");
setEntry.SetModifiedProperty("Age");
db.SaveChanges();
4, 사용 사무: 사용 사무는 매우 간단합니다. 필요한 조작을 TransactionScope에 놓고 마지막에 제출합니다.
DbEntity db = new DbEntity();
using (var scope = new TransactionScope())
{
//
var user1 = new User
{
Name = "bomo",
Age = 21,
Gender = "male"
};
db.User.Add(user1);
db.SaveChanges();
var user2 = new User
{
Name = "toroto",
Age = 20,
Gender = "female"
};
db.User.Add(user2);
db.SaveChanges();
//
scope.Complete();
}
5. 조회: 조회는 LinQ를 통해 조회한다
DbEntity db = new DbEntity();
//
var user = db.User.Where(u => u.Name == "bomo").Select(u => new {Id = u.Id, Name = u.Name, Age = u.Age}).FirstOrDefault();
// FirstOrDefault, First, Single, ToList, ToArray
조회는 기본적으로 모두 LinQ의 내용으로 내용이 좀 많으니 다음에 총결산하겠습니다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.