2010-01-16 1 views
0

양방향 직렬화 속성을 사용하여 Linq to SQL 클래스를 생성하는 방법을 찾으려고합니다. 기본적으로 클래스가 기본 키 (Visual Studio 생성기 및 SQL Metal do와 같은)가 아닌 모든 연결 속성에 적절한 순서로 DataMember 태그가 필요합니다. MyGeneration을 확인했지만 실제로 작동하는 것은 찾지 못했습니다. 나는 T4 Toolbox가 내 솔루션이 될 것이라고 생각했다. 속성을 추가하기 위해 그것을 수정하는 것은 꽤 쉽지만 내 WCF 서비스의 호출 측에 예외가 발생하고 문제에 대한 응답이 없다. . 나는 CodeSmith를 설치하고 PLINQO를 사용하려고 시도하고있다. 그러나 나는 무언가를 무료로 선호한다.양방향 직렬화 속성을 가진 간단한 Linq to SQL 생성기가 있습니까?

나는 내 자신의 T4 생성기를 작성하는 것에 매우 가깝지만, 그렇게하기 전에 먼저이 간단한 문제에 대한 사전 구축 된 솔루션을 찾으려고했다.

+0

방금 ​​찾은이 : http://tinyurl.com/ybxr2cp, 정확하게 내가 뭘 해야하는지,하지만 몇 가지 문제가 발생했습니다, 여기에 설명 : http://tinyurl.com/y8ptyzs. 나는 그걸 해결할 수 있다면, 나는 내 길을 잘 지낼 것이라고 생각합니다. –

답변

1

This

내 문제에 대한 해결책으로 밝혀졌다. 나는 비틀 거리면서 스스로 발전기를 연구하기 시작했다. 그것은 양방향 직렬화 옵션을 가지고 있으며 잘 작동합니다! Here's a link to the author's bog에는 시작하는 방법에 대한 훌륭한 동영상 예가 포함되어 있습니다.

2

필자의 L2S 클래스 용 코드 생성기를 작성했습니다. 실제로 두 세트의 클래스를 생성합니다. 하나는 클라이언트 응용 프로그램 사용을위한 엔터티의 "경량"집합입니다. 이 클래스에는 L2S 배관이 없습니다. 그러나 그들은 적절한 순서로 전체 datamember 특성을가집니다. 그런 다음 우리는 백엔드 사용을위한 L2S 엔티티를 가지고 있습니다. 이것은 아주 잘 풀렸다.

PLINQO 사용시주의하십시오. 나는 그 제품을 광범위하게 보았다. 실제로 많은 코드 생성기는 PLINQO가 생성하는 코드를 기반으로합니다. 그러나, 그들은 다방면의 많은 관계를 구현 한 방법에있어서 "중대한 결점"(그들의 말)을 가지고 있습니다.

"Reegenerator"라는 제품을 살펴볼 수도 있습니다. 랜디

+0

당신이 참조하는 주요 결함은 PLINQO의 다 대다 구현이 아닙니다. PLINQO가 내부 Linq-To-SQL 정보에 대한 액세스가 없기 때문에 다 대다 (Many-To-Many)의 미래 쿼리와 같은 고급 기능을 수행 할 수없는 특정 영역에서 Microsoft의 닫힌 소스 Linq-to-SQL 구현과 관련이 있습니다. 필요합니다. –

+0

@Blake - PLINQO의 M : M 구현에 문제가 있습니다. 나는 그들에게 M : M 구현에서 "중요한"디자인 결함이 있다고 말했고, 수정 될 수있는 날짜를 알려주지 못했습니다. 생성 된 코드는 버그가 있습니다. 마이크로 소프트의 '닫힌 시스템'에서 이것을 비난 할 수는 없다. –

+0

우리가 런타임보다 많은 것을 처리하는 방법을 수정할 수 없다면이 상황에서 할 수있는 일이 많지 않습니다. 다 대다 (many-to-many)의 작품에 대한 해결 방법이 있다면 그 말을 듣고 싶습니다. 또한 특정 생성 된 코드가 버그가 있음을 지적 할 수 있다면이를 고치기를 원할 것입니다. –