0
모범 사례에 대한 조언 찾기엔티티 프레임 워크 단일 줄 CRUD
아주 자주 ASP.NET 응용 프로그램에서 단일 레코드에 대해 CRUD 작업을 수행해야합니다.
삭제, 좀 EF와 저장소 패턴 직원 (특히 Here)을 읽은 후
new context().myTable.Find(myID).Remove();
같은 일에 대해 생각
var myRecord = context.myTable.Find(myID);
if (myRecord != null)
{
context.myTable.Remove(myRecord);
context.SaveChanges();
}
같이하고 있었는데, 나는 일반적인 저장소의 도움으로 이해 , 적어도 할 수있다 :
class UnitOfWork
{
void RemoveRecord(myRecord)
{
var context = FindMyContext(myRecord); //[here](http://blogs.msdn.com/b/alexj/archive/2009/06/08/tip-24-how-to-get-the-objectcontext-from-an-entity.aspx)
context.Entry(myRecord).State = EntityState.Deleted;
context.SaveChanges();
}
}
그리고 나는 그것을 사용할 수있다. 내 코드에서와 같이 :
new UnitOfWork.RemoveRecord(myRecord);
이 것이 좋은 생각입니까?
하나의 문제는 컨텍스트를 수행하고 싶지 않을 수 있다는 것입니다.이 컨텍스트에 대해 계속 진행되는 다른 작업이있을 수 있으므로 저장하지 말아야합니다. – Yiping
[this] (https : // www. youtube.com/watch?v=QwwfTWMrM9k), 그것은 Unit Of Work 주제에 많은 도움이되었습니다. 이것에 관한 것은 당신이 정말로 추가 작업을 할 필요가 있는지 없는지에 관한 것입니다. 그리고 그 모든 작업은 당신이 작업하고있는 프로젝트가 얼마나 큰지에 달려 있습니다. – GregoryHouseMD
질문을 올바르게 이해하면 TransactionScope를 사용하여 업데이트를 제어 할 수 있습니다. http://msdn.microsoft.com/en-us/library/vstudio/bb738523(v=vs.100).aspx – Haroon