[SQL] 엔티티 프레임 워크 5 코드 처음에 기본 키를 처리하는 방법
SQL엔티티 프레임 워크 5 코드 처음에 기본 키를 처리하는 방법
데이터베이스가 기본 키를 설정하면 내 EF5 코드 - 첫번째 모델에서 새로운 기록의 생성은 잘 작동합니다. 나는 차 키에 대한 GUID를 사용하고 있습니다 및 DatabaseGeneratedOption.Identity가 설정되어있는 경우, SQL Server는 항상 고유 식별자를 생성합니다.
그러나 이것은 내가 처음에 데이터베이스를 시드 노력하고 문제가 발생합니다. 내 종자 방법에 GUID를 설정하면 SQL Server는 우선합니다. 내가 GUID를 설정하지 않은 경우, 나는 새로운 기록을 매번 얻을. 미리 설정 GUID를 사용하여 데이터베이스를 씨앗 내 정상 작동 DatabaseGeneratedOption.Identity 세트를 유지하는 권장 솔루션은 무엇인가?
예 클래스 모델 :
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Id { get; set; }
public RecordName { get; set; }
public DateTime? Created { get; set; }
public DateTime? Updated { get; set; }
예 종자 방법 :
var record = new Record()
{
Id = new Guid("3B80725E-9550-4933-807F-C2FAA0942225"),
RecordName = "New Record",
Created = DateTime.UtcNow,
Updated = DateTime.UtcNow,
};
context.Record.AddOrUpdate(record);
context.SaveChanges();
해결법
-
==============================
1.AddOrUpdate 당신이 키를 지정할 수 있습니다 과부하가 있습니다
AddOrUpdate 당신이 키를 지정할 수 있습니다 과부하가 있습니다
MSDN에서
그래서 당신은 자연의 키와 방법을 제공해야합니다 :
context.Record.AddOrUpdate(c => c.RecordName, new Record() { RecordName = "New Record", Created = DateTime.UtcNow, Updated = DateTime.UtcNow, })
from https://stackoverflow.com/questions/17712416/how-to-handle-primary-key-in-entity-framework-5-code-first by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] UNION, INTERSECT 및 EXCEPT에 대한 SQLEXCEPTION (0) | 2020.07.11 |
---|---|
[SQL] SQL에서 한 번에 간격을 병합 (0) | 2020.07.11 |
[SQL] 어떻게 엑셀 VBA 스크립트에서 Oracle 저장 프로 시저를 호출 할 수 있습니까? (0) | 2020.07.11 |
[SQL] 여러 파트 파일에 SQL 서버 테이블 내보내기 (0) | 2020.07.11 |
[SQL] MySQL의에서 결과를 순위 때 어떻게 넥타이를 처리합니까? (0) | 2020.07.11 |