programing

EF에서 영향을 받는 행을 볼 수 없음

subpage 2023. 10. 11. 20:44
반응형

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

반응형