반응형
EF에서 영향을 받는 행을 볼 수 없음
테이블에 데이터를 삽입하려고 하면 문제가 발생합니다.저는 EF, MariaDB와 '불행하게도' 트리거를 사용하고 있습니다.새 데이터를 삽입하려고 하면 EF에서 예외가 발생합니다.OptimisticConcurrencyException
.
여기 내 방아쇠가 있습니다.
CREATE TRIGGER AutoIncrdata BEFORE INSERT ON data
FOR EACH ROW BEGIN
DECLARE new_id integer;
SET new_id = (select max(id_data) + 1 from data);
IF (NEW.id_data < 1) then
SET NEW.id_data = COALESCE(new_id, 1 );
END IF;
END
간단한 삽입 후에는 예외가 표시됩니다.
var v = new Data
{
Id = someObject.Id,
Location = "text",
Name = "Data_" + someObject.Id
};
mariaDb.Add(v);
mariaDb.SaveChanges();
예외:
InnerException {"Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. See http://go.microsoft.com/fwlink/?LinkId=472540 for information on understanding and handling optimistic concurrency exceptions."} System.Exception {System.Data.Entity.Core.OptimisticConcurrencyException}
변경사항 저장() 구현 - 리포지토리 패턴:
public virtual void SaveChanges()
{
DbContext.SaveChanges();
}
EF에게 트리거를 가르치는 방법이나 트리거를 수정하는 방법이 있습니까?자동 증가 기본 키가 있고 EF를 통해 pk를 삽입할 수 있는 테이블이 필요합니다.id열에 자동 증가만 있는 테이블이 있으면 EF가 삽입된 id를 다음에 재정의합니다.SaveChanges()
.
어떤 조언이든 감사합니다.
언급URL : https://stackoverflow.com/questions/32593100/ef-cannot-see-affected-row
반응형
'programing' 카테고리의 다른 글
USB MIDI 장치에서 MIDI 신호를 읽기 위한 C/C++ 라이브러리 (0) | 2023.10.16 |
---|---|
스프링 캐시 @Cacheable 메서드가 같은 클래스 내에서 호출될 때 무시됨 (0) | 2023.10.11 |
리눅스(ubuntu )에서 동영상 캡쳐 장치(웹 카메라) 목록을 가져오는 방법? (C/C++) (0) | 2023.10.11 |
_.각각의 context(리스트, 반복기, [context])에서 context란 무엇입니까? (0) | 2023.10.11 |
ASP에서 Visual Studios Profiler를 사용하려고 할 때 메타베이스 오류가 발생했습니다.넷사이트 (0) | 2023.10.11 |