2011-02-18 4 views
0

어떻게 Linq를 사용하여 데이터베이스에 독립적 인 데이터 계층을 작성할 수 있습니까? 예를 들어, 런타임에 거의 모든 데이터베이스에서 사용할 수있는 dbml 파일이 있습니다 (web.config를 지정하여)Linq를 사용하여 데이터베이스 독립 레이어를 작성하는 방법

엔티티 프레임 워크가 더 좋은 옵션이지만 모노로 구현되지 않아 사용할 수 없습니다. .

: 나는 Sql Server, Mysql 또는 SqlLite와 같은 다른 데이터베이스를 의미합니다. 다른 데이터베이스에 DbLinq를 사용하는 것을 선호합니다.

편집 2 : 나는이 블로그 게시물을 따라 Linq to Sql 매핑 클래스를 만들었습니다. http://blogs.msdn.com/b/spike/archive/2010/01/08/how-to-use-linq-to-sql-without-using-the-designer-generated-classes.aspx 이제 다른 데이터베이스에서 어떻게 사용할 수 있습니까?

+0

다른 데이터베이스 스키마 또는 다른 DBMS를 의미합니까? –

답변

0

Mono를 지원하는 ALinq http://www.alinq.org/과 같은 타사 linq 공급자가 필요합니다.
Microsoft에서 구조화 되었기 때문에 Linq는 SQL에 매우 종속적입니다. 즉, MS SQL에서만 작동합니다. 나는 ALinq가 모노에서 작동한다고 믿습니다. 타사 공급자 목록이 더 좋습니다 :
http://blog.linqexchange.com/index.php/links-to-linq-providers/

+0

Alinq이 db 독립 레이어를 작성하는 데 어떻게 도움이됩니까? – Sharique

+0

모든 쿼리와 함께 데이터베이스 추상화 계층을 작성한 다음 alinq 연결 문자열과 공급자 라이브러리 참조를 간단히 변경할 수 있습니다. Alinq는 여러 데이터베이스에 대한 라이브러리를 제공합니다. 단순히 적절한 라이브러리에 대한 참조를 변경하고 연결 문자열을 업데이트하는 엔티티 프레임 워크를 사용하는 것과 비슷합니다. –

관련 문제