2010-05-06 2 views
0

나는 종종 사용자가 필드를 추가하거나 필드 이름을 변경하려는 응용 프로그램에서 ASP.NET에서 작업하고 있습니다..NET ORM의 필드를 동적으로 변경하는 방법

구문 분석 할 xml 스키마와 응용 프로그램에서 액세스 할 수있는 동적 개체 모델을 만들 수 있기를 바랍니다.

초기 반응은 이것이 현실적이지 않다는 것입니다. 나는 그것의 동적 인 본질에 관하여 융통성이다는 것을 생각한다. 나는 이것을 만들기 위해 노력하고있는 사람들이 다시 컴파일하는 것을 꺼려하지 않을 것이라고 생각한다.

앱을 다시 컴파일하더라도 코드에서 사용자가 속성 이름을 변경하는 등의 작업을 수행 할 수 있도록 데이터를 액세스하는 방법을 모르기 때문에 속성을 변경할 수있을 때 어떻게 LINQ를 작성할 수 있습니까?

간략히 말하면 두 가지 질문이 있습니다. 1) 데이터베이스의 객체 모델을 동적으로 생성하는 방법과 2) 속성에 따라 데이터베이스에 액세스하는 코드가 손상되지 않도록 충분히 추상화하는 방법이 있습니까? 변화?

답변

0

1) 동적 가 데이터베이스의 객체 모델을 생성하는 방법은 추상적 인 거리 충분히 그 코드 있도록하는 방법이있다

2)입니다 속성에 액세스 할 때 데이터베이스에 액세스 할 수 있습니까?

하지만,이 시나리오에 대한 ORM을 원하지 않는다. 관계형 데이터베이스는 그리 많은 일을하지 않으므로 관계형 데이터베이스가 필요하지 않을 수도 있습니다.

문서 또는 개체 데이터베이스를 살펴볼 수 있습니다. Linq를 지원하는 것을 찾는 것은 어려울 것입니다.

근본적으로 당신과 고객은 이것이 전통적인 관계형 데이터베이스 앱이 아니라는 것을 이해해야합니다. 당신은 이전에 만들어져 있지만 실제로는 주류 방식으로 만들어지지 않은 것을 만들고 있습니다. 선반 기술과 패턴을 재사용하는 것보다 더 자주 새로운 영역을 개척 할 것입니다.

고객은 소설의 측면을 즐기는 것이 재미있는 프로젝트 일 수 있으며, 고객이 솔루션을 표준 관계형 솔루션처럼 쉽고 간편하게 사용할 수 있다고 생각하면 악몽이 될 수 있습니다.

+0

그래서 XML을 구문 분석해야한다고 말하는 것입니까? 스키마 변경시 데이터 소스를 래핑하는 데 필요한 클래스가 변경된다는 사실을 어떻게 알 수 있습니까? 재 컴파일이 필요하지 않습니까? – rsteckly

+0

XML을 파싱하는 것에 대해 아무 말도하지 않았습니다. 데이터 소스 주변의 코드가 충분히 일반적인 경우 스키마가 변경 될 때 다시 컴파일 할 필요가 없습니다. 기술적 인 요구 사항을보다 잘 이해할 수 있도록 몇 가지 솔루션을 프로토 타입해야한다고 생각합니다. –

관련 문제