2013-06-08 3 views
3

SQL 형식 공급자 연결을 몇 가지 테이블로 제한 할 수 있습니까? 나는 거대하고 불건전 한 유산 데이터베이스를 다루고있다. 필자는 형식 제공자가 일관된 전체를 나타내는 테이블의 작은 하위 집합을 분석하기를 원합니다. 내가 정의한 부분 집합.SQL 형식 공급자, 소수 테이블로 제한

+1

제가 아는 한, 유형 제공자는 실제로 실제로 사용하십시오. (또는 적어도 그것은 * 할 수 * SQL 공급자가 실제로 않는 경우 나도 모르겠다.) – svick

답변

2

SQL에 대한 F # 형식 공급자는 LINQ to SQL 및 LINQ to Entities를 기반으로합니다. 두 경우 모두 로컬 파일에 스키마를 정의하고 명시 적으로 나열된 엔터티 유형 만 생성 할 수 있습니다. 참조 :

두 SQL에 LINQ와 엔티티에 LINQ는 당신에게 당신이 모든 것을 직접 작성하지 않아도 (라이브 데이터베이스 스키마를 생성하는 방법을 제공) 당신이 노출하고 싶지 않은 테이블을 제거 할 수 있습니다. (그러나 호출자는 직접 SQL 쿼리를 사용하여 쿼리 할 수 ​​있습니다.)

일반 유형 공급자 (예 : SqlEntityConnectionSqlDataConnection은 실제로 모든 클래스에 대해 클래스를 생성합니다. 이 테이블은 표준 .NET 도구의 가벼운 래퍼이기 때문에, F# Data 같은 제공자는 어떤 유형도 생성하지 않습니다.

+0

결론적으로 정의 된 테이블의 하위 집합을 분석 할 수있는 SQL 형식 공급자의 분석을 제한 할 수 없습니다 . 관심이없는 표를 제거하려면 수작업으로해야합니다. – fsl

+0

예, 몇 가지 수작업을해야합니다 (그렇게하기는 어렵지 않습니다). 원칙적으로, 유형 제공자가 이것을 쉽게 만들 수 있지만 내장 된 도구는 표준 .net 도구보다 얇은 래퍼이기 때문에 그렇게하지 않습니다 –

+0

Tomas에게 감사드립니다. 나는 그것이 빌트인 공급자에게 매우 가치있는 확장이 될 것이라고 생각한다. – fsl