내 프로젝트에서 SQLCLR을 사용하고 있으며 기록을 위해 매우 기쁩니다. 그러나 좋은 데이터 액세스 패턴에 대한 정보를 얻을 수는 없습니다.SQLCLR의 데이터 액세스 패턴
일반적으로 내 데이터베이스의 API를 원하기 때문에 저장 프로 시저를 사용하여 .net과 SQL 간의 통신을 수행합니다. 그러나이 경우 .net 코드는 API의 일부이므로 SP가 좋지 않은 것처럼 보입니다.
Linq2SQL은 SQL 서버에 존재하지 않지만 (DBA는 원하지 않는 일을해서 설치할 수 있음), 옵션이 아닙니다. 내가 현재 가지고있는
는 작동하지만, 그것은 단지 매우 그것을 할 잘못된 방법처럼 보인다,
using (SqlCommand cmd = c.CreateCommand()) {
cmd.CommandText = "SELECT ... FROM ...";
using (SqlDataReader rdr = cmd.ExecuteReader()) {
DoSomething(rdr);
}
}
와 같은 표준 ADO.NET 코드로 어수선하게 내 코드입니다.
다른 사람들이 어떻게합니까?
실제로 SQLCLR이 아닌 SQL에서 동일한 결과를 얻었지만 내 솔루션은 Where 절을 생성하기 위해 Expression.Your (식)에 의존합니다. where 절을 어떻게 생성합니까? – erikkallen
지금까지 복잡한 표현식을 생성 할 필요가 없었습니다. 난 항상 열쇠 중 하나에 의해 항목을 조회하고 간단한 조회 방법 (WHERE key @ value)은 XSLT에서 생성됩니다. Jonathan에 대한 답변을 판단 할 때 컴파일 타임이 아닌 런타임에 필요한 것이 있습니다. –
아니요,이 경우 복잡한 논리에서 사용하는 메타 데이터를 찾는 간단한 쿼리에 관심이 있습니다. – erikkallen