1

DNN 7+에서 DAL2로 작업하고 있습니다.DNN 7+에서 DAL2와 함께 복합 키를 사용하는 방법은 무엇입니까?

2-varchar (50) 필드에서 생성 된 기본 키가있는 데이터베이스 테이블이 있습니다.

개체의 특성에서 다중 필드 기본 키를 선언하는 적절한 방법은 무엇입니까?
나는 일반적으로 수행

[PrimaryKey("myField")] 

난 그냥 두 번째 기본 키 속성을 추가해야 하는가?

질문의 두 번째 부분은 데이터를 데이터베이스에서 가져 오는 방법입니다.
캐싱을 통합하기 때문에 GetById() 함수를 사용하고 싶지만 여러 필드를 지원하지는 않습니다. Find() 메서드를 사용하고 수동으로 캐싱을 처리했거나 여러 필드 기본 키를 사용하는 개체를 선택하는 가장 좋은 방법은 무엇입니까?

"화면처럼 하늘을보세요!"

답변

1

DAL2는 복합 키를 지원하지 않습니다.

이 제한 사항을 해결하기 위해 가장 좋은 방법은 데이터베이스 테이블을 수정하는 것입니다. 기본 키에 대해 자동 증가 int 'id'필드를 사용하고 복합 키로 사용하려는 필드에 고유 제한 조건을 설정합니다.

이렇게하려면 캐싱을 방지하는 .Find() 메서드를 사용해야합니다. 캐싱이 필요한 경우 수동으로 수행해야합니다. 캐시를 수동으로 설정하면 수동으로 캐시를 지워야합니다. 저장소 기법을 사용하는 경우 개체를 업데이트하거나 삭제할 때 캐시를 지우십시오.

"화면처럼 하늘을보세요!"