먼저 Entity Framework 5를 먼저 사용하고 있는데 SaveChanges
메서드를 재정의했습니다. SaveChanges
에서 EntityState == EntityState.Added
인 엔티티를 식별하려고합니다. (이 작업을 충분히 쉽게 수행 할 수 있습니다.) 그러나 기본 키로 정의 된 엔티티의 모든 열을 식별하고 HasDatabaseGeneratedOption
속성을 DatabaseGeneratedOption.None
으로 설정하고 현재 가지고있는 열을 식별하려고합니다. Null
값.Entity Framework SaveChanges의 엔터티 속성을 읽음
데이터베이스에 코드를 통해 수동으로 채워야하는 기본 키로 정의 된 일부 열이 있으므로이 열을 식별해야합니다. SaveChanges
에있는이 열의 개체수를 삽입 할 수 있지만 그 개체를 식별하는 방법이 무엇인지 알 수 없습니다.
SaveChanges
의 열 정의를 어떻게 쿼리합니까? 데이터 값을 검사하는 방법을 분명히 알고 있습니다.
위대한 블로그 게시물! EntityFramework 메타 데이터 모델이 어딘가에 문서화되어 있습니까? 귀하의 예제는 정보를 얻는 방법을 보여주는 훌륭한 예입니다. HasDatabaseGeneratedOption 속성을 찾는 위치를 반드시 알 필요는 없습니다. GetIdProperties의 예제 확장 메소드를 사용하면 ID를 얻습니다. OnModelCreating에서 모델을 커스터마이징하지는 않지만, 엔티티의 모양을 정의하기 위해 Map 클래스를 사용하고 있습니다. 엔티티 맵 클래스가 'HasDatabaseGeneratedOption'을 설정합니다. – codechurn
또한 엔티티 자체의 속성이 아니라면 나중에 사용자 정의 속성을 추가 할 수 없다는 점을 이해하고 있습니까? 엔티티 자체가 아닌 맵 클래스의 속성 일 수 있습니까? – codechurn
그것에 관한 문서가 많지 않아서 두렵습니다. 내 솔루션은 매핑 속성과 함께 작동합니다. PropertyInfo.GetCustomAttributes()를 사용하여 id 속성에서 속성을 가져올 수 있습니다. 원하는 특성은 DatabaseGeneratedAttribute입니다. –