2017-01-23 4 views
0

응용 프로그램에서 작업 중이며 "로컬"데이터베이스 또는 SQL Server 데이터베이스를 사용할 수있는 기능을 제공하려고합니다. 내가 해결하려고 노력하는 것은 사용하기에 가장 좋은 로컬 DB 형식과 쿼리를 작성하는 방법입니다.SQL 또는 로컬 DB를 사용하는 VB.NET 응용 프로그램

현재 SQL Server CE를 사용하고 있으며 제대로 작동하는 것처럼 보입니다. 그러나 모든 쿼리에 대해 각 코드 블록을 두 번 작성해야합니다 (SQL에 한 번, SQL Server CE에 한 번). 이것에 대한 해결책이 있습니까? 다른 연결 문자열을 전달할 수있는 방법이 있습니까?

내가 지금 가지고있는 것은 로컬 (my.setting.uselocal)을 사용하고 있는지 확인한 다음 "Query_SQL"또는 "Query SQL"함수를 호출하는 "하위"입니다. 곧 각 데이터베이스 쿼리에 대해 두 개의 블록을 가져야한다는 것에 지치지 않을까?

더 효율적으로 수행하는 방법에 대한 제안 사항은 무엇입니까?

건배

+0

당신은 모든 데이터베이스 개발자의 성배를 찾고 있습니다. 그들 모두를 지배하는 하나의 코드. 나는 ORM (Object Relational Mapper)을 살펴볼 것을 제안한다. 이 라이브러리들 중 일부는 SO ([Dapper] (https://github.com/StackExchange/dapper-dot-net)) 뒤에있는 것처럼 굉장합니다. – Steve

+0

나는 그렇게 생각했습니다. 코드를 복사/붙여 넣기하는 것이 매우 간단하며 작업을 위해 4 가지 항목을 변경해야합니다. 그러나 더 간단한 방법이 있다면 멋질 것입니다. –

+0

다시 말하지만, 부분적이기는하지만 논리적 레이어에서 코드를 나누는 것입니다. 데이터를 설명하는 모델, 데이터를 통해 작동하는 비즈니스 로직, 데이터를 표시하는 UI 레이어 및 데이터베이스와 상호 작용하는 데이터베이스 레이어. 이 마지막 부분은 Dapper와 같은 ORM에 의해 처리 될 수 있으며 데이터베이스 차이점의 불쾌한 세부 사항으로부터 코드를 격리 할 수 ​​있습니다. dapper로 몇 가지 예제를 검색하면 그 힘을 이해할 수 있습니다. – Steve

답변

0

.sdf 파일을 만들 수 있습니다. 이들은 파일의 데이터베이스/테이블 등과 함께 프로그래밍 방식으로 생성 될 수 있습니다.

IIRC를 사용한 이래로 오랜 시간이 걸렸지 만 동일한 tsql 구문으로 읽기/쓰기를 작성할 수 있습니다. 나는 그것이 당신에게 동일한 쿼리 함수를 허용 할 것이라고 생각했을 것이다. 그러면 당신은 어떤 연결이든지간에 전달할 수있다.

+0

그게 뭔지 내가이 단계에서 일해 왔지만, VB.NET에서 사용할 때는 SQL/SQLCE 기반의 연결/명령에 대한 differetn declerations가 있어야합니다. –