기본 키가 어느 정도 정의되어있는 100 개 이상의 테이블로 구성된 데이터베이스 (MSSQL 2005)를 생각해보십시오. 테이블 간에는 '관계'가 있지만 외래 키 제약 조건에는 적용되지 않습니다.정의 된 관계가없는 데이터베이스에서 ORM을 사용합니까?
내가 다루고있는 일반적인 유형의 테이블의 다음 단순화 된 예를 고려하십시오. 사용자와시 및 도의 테이블 간의 명확한 관계입니다. 그러나 중요한 문제는 테이블과 명명 규칙에서 일치하지 않는 데이터 유형입니다. MVC의 점포 디자인이 유사한이기 때문에이 데이터 소스를 사용
User:
UserRowId [int] PK
Name [varchar(50)]
CityId [smallint]
ProvinceRowId [bigint]
City:
CityRowId [bigint] PK
CityDescription [varchar(100)]
Province:
ProvinceId [int] PK
ProvinceDesc [varchar(50)]
내가 (ASP.net MVC에서) 응용 프로그램의 재 작성을 고려하고있다. 그러나 나는 개념 단계의 증명을 통해 갈 것이고, 이것이 내가 만난 걸림돌 중 하나이다.
쉽게 사용할 수 있고 그 이유는 무엇입니까?
ORM을 고려해야합니까? (내가이 질문을하는 이유는 대부분의 설명과 튜토리얼은 모두 비교적 깨끗하게 설계된 기존 데이터베이스 또는 새로 작성된 데이터베이스와 작동하기 때문이다. 따라서이 문제로 앞으로 나아갈 길이 열심히 노력하고있다)
엄청난 양의 기존 SQL 쿼리가 있습니다. 데이터 마커 (예 : IBatis.net)가 쉽게 수정하여 이미 수행 한 투자를 재사용 할 수 있기 때문에 더 적합할까요? 나는이지도의 문제가 그 인상을하지만 -
나는 ORM이 사용될 수 있다는 것을 나에게 나타내는 SO에 this question을 발견했다?
참고 : 현재 개체 모델은 존재하지 않았으므로 명확하게 정의되지 않았습니다. 기존 시스템은 거의 모든 것을 SQL로 처리했거나 기능을 완료하기 위해 지나치게 복잡하고 많은 쿼리로 구성되었습니다. 나는 꽤 많은 멍청이이고 ORM과 MVC에 대한 경험이 거의 없다.
회고 ORM 응용 프로그램 ... 그것은 악몽입니다. 행운을 빌며 : P –
@ 에이덴 - 어떤 경험을 공유 할 수 있습니까? – Ahmad
FK의 직진을 얻으면 데이터베이스가 개선되고 질문이 낫게됩니다. –