2010-01-29 2 views
2

대략 1 개월 전 (크리스마스 이후) 나는 this post을 발견했으며 유용한 반성이 얼마나 실현되는지를 알아 냈습니다. 그래서 나는 배우기로 결심했고 약 10 일간을 SQL에 대한 ORM이 된 것으로 보냈습니다.이 ORM에 문제가 있습니까?

제 질문은,이 ORM이 잘못 사용 되었습니까? 전에 ORM을 사용 해 본 적이 없으며 직접 작성하지 않아야한다고 들었습니다. 나는 어쩌면 다른 사람들과 비교하여 기능이 부족한 것을 제외하고는 내 문제가 무엇인지 알지 못한다. 그렇다면이 ORM에 어떤 문제가 있습니까? (아래 링크)

아이디어는 가능한 한 많이 속성을 사용하여 태그 지정을 피하고 매우 쉽게 삽입 할 수 있도록 클래스를 작성해야합니다. 나는 업데이트 로직이 너무 복잡 할 수 있지만 사용자는 틀린 것을 얻거나 클래스에 태그를 붙이는 방법에 대한 게임을하는 대신 가정을하는 대신 쿼리를 작성해야합니다. 그래서 그 어떤 것도, 단지 간단한 삽입과 사소한 경우 자신의 쿼리를 작성 theres. 나는 2 주 전에 나의 친구를위한 튜토리얼을 썼다. 컴파일되고 실행되는 것처럼 보이므로 ORM에 잘못된 점이 있다고 판단합니까?
http://codepaste.net/qnrira

http://codepaste.net/29xkub

또한 나는이를 계속하고 증식을 가지고 싶지 않다. 지금까지 나는 그것을 3 개의 프로젝트에서 사용했지만 문제가 없었지만 이것이하는 일을하는 또 다른 ORM이 있습니까? 외래 키는 필수 항목이며 ATM은 전적으로 기다려야하기 때문에 구현되었습니다. http://sqlite.phxsoftware.com/을 3.6.19+로 업데이트

+4

사용자 정의 ORM에 수백 시간을 투자 할 수 있으며 여전히 이길 수 있습니다 NHibernate를 따라 잡을 수 없다. 취미로 즐기십시오.하지만 너무 심각하게 생각하지 마십시오. 커스텀 ORM을 구축하는 것은 훌륭한 교육 경험입니다. –

+0

이 질문에 대한 이유는 무엇입니까? 누군가 나를 채울 수 있을까? – Dathan

+0

@Dathan : 너무 나빴어. 내가 ATM을 필요로하는 모든 것을 처리하기 때문에 나는 ORM을 배우지 않을 것이다. 그래서 나는 실제 ORM이 할 수있는 것과 잠시 동안 이것에 대해 가난한 것이 무엇인지를 배우지 않을 것이라고 생각한다. (다른 것을 배우거나 문제가 생길 때까지) –

답변

3

직접 작성하지 않는 유일한 이유는 .net 프레임 워크를 사용하는 이유와 유사합니다. 그것은 이미 완료되었습니다. 아마 많은 프로젝트에서 분노에 사로 잡혀 아마도 당신이 생각하지 못했던 모든 엣지 케이스를 처리했을 것입니다 ...

+0

문제는 ORM에 대해 아무 것도 모른다는 것입니다. 나는 그것이 성장하기 때문에 libs를 쓰지 않아야한다는 것을 알고있다. 따라서 필자는 글을 쓰고 싶지 않고 내 예제가 무엇을 할 수 있는지 물었다. 이것은 충분히 좋게 보이고 단지 10days 만 있습니다. 나는 내가 더 많이 쓰지 말아야한다는 것을 알고있다. 그리고 나는 그렇게하지 않는다. 그러나 나의 예는 무엇을 하는가? 나는 NHibernate를 보았고 그것은 광산이하는 일을하는 것처럼 보이지 않으며 Subsonic doesnt는 다중 삽입물이나 외래 키를하는 것처럼 보인다. –