2014-04-21 2 views
1

SQL 데이터베이스의 테이블 쌍에 액세스 할 수 있어야하는 자신을위한 유틸리티를 작성하고 있습니다. SqlEntityConnection Type Provider를 사용했고 엔티티를 사용하기 쉽도록 테이블에서 필요한 데이터로 보상을 받았습니다.SqlEntityConnection 형식 공급자를 특정 테이블로 제한

내가 알아 차 렸던 한 가지는 프로젝트의 시작과 컴파일이 상당히 증가했기 때문입니다. 나는 데이터베이스가 백 개의 테이블을 가지고 있기 때문에 이것이 의심 스럽다. 그리고 필자가 필요로하는 것과는 반대로 모든 것을 컴파일하고 데이터를 얻고 있기 때문이다. EntityTypeProvider를 스키마에서 필요한 테이블 만 참조하도록 제한하는 방법이 있습니까?

type private EntityConnection = SqlEntityConnection<ConnectionString="Server=Server;Initial Catalog=Database;Integrated Security=SSPI;MultipleActiveResultSets=true", Pluralize = true> 

let private context = EntityConnection.GetDataContext() 

답변

2

나는이에게 자신을 시도하지 않은,하지만 난 당신이에서 삭제 한 후, 새로운 "ADO.NET 엔터티 데이터 모델"(edmx) 프로젝트에 파일을 추가는 기존의 데이터베이스에서 생성 할 수 있도록하고 있다고 생각 모델마다 코드에 액세스 할 수 없도록하려는 모든 테이블.

EDMX 디자이너는 SqlEntityConnection의 LocalSchemaFile 매개 변수에서 참조 할 수있는 * .csdl 파일을 생성합니다. ConnectionString 대신이 매개 변수를 사용하십시오.

결국 엔티티 공급자가 데이터베이스에 대한 변경 사항을 자동으로 선택하지 않지만 컴파일 시간이 줄어들고 중요한 테이블 만 코드에 표시됩니다.

+0

그것이하기 전에 몇 번이나 뛰었지만 확실히 그 과정을 가속화했습니다. 감사! – ChargerIIC