2012-03-01 1 views
0

Entity Framework에서 작업 중이므로 런타임에 테이블 이름을 변경해야합니다. 어떻게 할 수 있는지 알려주세요. 내 데이터베이스에있는 예 "Invoice"표가 있고 'InvoiceXXXX "(XXXX는 2010 년 인보이스 인보이스 인보이스 2010의 연도입니다.)"Invoice "엔티티를 갖고 싶지만 같은 CLASSE를 사용하는 옵션은 "Invoice2010"테이블에서 작동합니다. 만 예입니다런타임에 C#에서 Entity Framework와 함께 작동하는 테이블 이름 변경

마리아

하라구요. 나는 런타임에 테이블의 이름을 변경 할 수 있도록해야합니다 ....

+1

왜 완전히 새로운 테이블을 만드는 대신 인보이스의 속성을 만들지 않습니까? – Mikeb

답변

2

송장을 테이블 이름별로 분류하는 것은 좋지 않은 일일 수 있습니다. 적절하게 normalized tableDateTime 열에 연도를 나타낼 수 있습니다. f 인보이스 (인보이스 발행일에 이미 존재 함).

특정 연도 인보이스 만 가져와야하는 경우 SQL이 특별히 설계된 것입니다.

+0

OMG 예 절대적으로 이것이 바로 적합합니다. 'Year' 칼럼이있는'Invoice' 테이블이 필요합니다. 문제 해결됨. –

+0

내가 무슨 생각으로 업데이트를 입력하지 않았습니다. –

+3

질문에 대한 답변은 무엇입니까? – comichael

0

Entity Framework의 Multiple Entity Sets per Type (MEST) 기능을 살펴보십시오. 디자이너 지원이 없으므로 .edmx 파일을 손으로 편집해야하지만 그렇지 않으면 거의 작동합니다.

2

나는 또한 이것에 대한 답을 연구하고 있었다. 여러 가지 이유로 일반적인 스키마를 기반으로 다중 문맥 테이블을 갖는 것이 바람직 할 수 있으므로 질문을 이해합니다.

http://theruntime.com/blogs/jacob/archive/2008/08/27/changing-table-names-in-an-orm.aspx

에서 저자가이 문서를보십시오 시도하고 모두 LinqToSql 및 엔티티 프레임 워크를 위해이 문제를 해결하기 위해 고통에 갔다. 제 직장에서는 지금 당장 자신의 솔루션을 테스트하고 있지만 확실히 실행 가능해 보입니다.

관련 문제