2009-06-24 3 views
1

두 개의 다른 데이터베이스를 나타내는 두 모델로 된 ASP.NET MVC (VB) 프로젝트가 있습니다. 각 모델은 동일한 이름의 데이터베이스 테이블을 포함해야합니다. 예를 들어 model1.dbml에는 db1.MyTable이 있어야하며 model2.dbml에는 db2.MyTable이 있어야합니다.다른 MVC 모델에서 같은 이름의 두 테이블에 문제가 있습니까?

두 모델 모두 "Partial Public Class MyTable"을 만들고 둘 다 "Public Sub New()"를 가지고 있으므로 "동일한 서명이있는 다중 정의"오류가 발생하므로이 작업을 수행 할 수 없습니다.

모델간에 동일한 테이블 이름을 가질 수 있습니다. (이들은 서로 다른 비즈니스 라인에 사용되는 동일한 제품의 개별 인스턴스입니다.) 어떻게이 문제를 해결할 수 있습니까? 고유 한 모델 중 하나의 이름을 모두 변경해야합니까? 더 좋은 방법이 있습니까?

+0

어떤 프레임 워크를 사용하여 모델 – Rony

+0

(SQL Server 데이터베이스에서) LINQ to SQL을 생성하고 있습니다. – gfrizzle

답변

1

코드 냄새가 있습니다. 두 개의 데이터베이스가 실제로 두 개의 분리 된 별개의 엔티티라면, 왜 그들은 같은 프로젝트에 속해 있습니까? 두 개의 개별 엔터티가 아닌 경우 두 개의 개별 데이터베이스가있는 이유는 무엇입니까?

포털 구성 (여러 회사)에서 하나의 응용 프로그램으로 작업하는 경우 CompanyID 필드를 필터로 사용하여 분리 할 수 ​​있으며 필요한 엔티티 클래스는 하나만 있습니다.

+0

당신이 맞습니다, 이것은 디자인이나 명명 문제입니다 – Rony

+0

우리는 두 제품 라인에 대해 두 개의 비슷한 데이터베이스를 가지고 있습니다. 그러나 각각은 미묘한 차이점 (각 제품 라인에 맞춤화 된 타사 앱)을 가지고있어서 깔끔하게 맵핑되지 않습니다. 같은 모델. 그들은 추출되는 데이터가 동일하기 때문에 동일한 프로젝트에 있지만 각각 다른 방식으로 추출됩니다. – gfrizzle

+0

ProductLineID별로 동일한 클래스로 구분할 수 있습니까? 클래스가 동일하지 않으면 다른 이름을 사용해야한다고 생각합니다. –

관련 문제