2010-05-27 3 views
1

이것은 약간 이상한 것이지만 나는 트위터에서 나에게 어떤 것을 당황스럽게 만들었으며 나는 더 많은 것을 알고 싶다."불확실성 다루기"- Entity Framework CodeOnly

Rob Conery 다음과 같은 몇 시간 전 tweeted : 오늘의 수업 이름 : "Maybe<T>". 오늘의 방법 : "ToMaybe<T>()". 그는 어디서 왔는지 추측 할 수있는 사람에게 Tekpub 쿠폰을 제공했습니다. 그는 실마리가있는 추가 짹짹에 연결했고 Entity Framework 코드 전용이라고 생각했지만 사용법을 결정할 때 Rob이 대답 한 사람이 누구인지 대답했습니다. ... EF CodeOnly - 불확실성을 다루는 중 ...

그럼 내 질문은 정확히 그가 불확실성이 인 것을 가리키며 이것이 Entity Framework Code-Only에 어떻게 맞습니까?

답변

1

Maybe<T>은 전형적인 모나드 중 하나이다. this Wikipedia example. 모나드는 함수형 프로그래밍에서 널리 사용됩니다 : 여러분은 모나드 인 IEnumerable<T>을 확실히 알고 있습니다. LINQ itelf는 "언어 통합 모나드"라고도합니다. 몇 가지 더 링크 :

  • "What is monad" @ StackOverflow
  • "Functional programming, monads: links"

      는 (발견 내 자신의 이전 게시물)이

    Maybe<T>의 존재는 확실히 엔티티 프레임 워크의 코드 품질을 보여줍니다 나쁘지 않다 :는 잘 사용 거기에 알려진 개념은 described many many times입니다 (나는 ToMaybe<T>()이 없다고 의심합니다 - ToMaybe<T>(T value)Nothing이 있어야합니다. 그래서 Rob의 실수입니다).

  • +0

    감사합니다 힙합 알렉스 –

    0

    그것은 내 생각에 단순한 추측이지만 임의의 테이블 이름, 임의의 열 이름 및 임의의 쿼리를 사용하는 임의의 데이터 저장소를 사용할 때 반드시 처리해야하는 애매한 점과 관련이 있다고 생각합니다.

    나는 어떤 식 으로든 Entity Framework의 코드 품질을 반영한다는 점에 대해서는 의문의 여지가 있습니다.

    +0

    안녕하세요 Robert가 답변 해 주셔서 감사합니다. 나는 EF의 코드 품질에 대해 아무 것도 암시하지 않았다. 사실 지난 몇 주간 최신 EF4 CTP에서 Code-Only로 놀았으며 정말 좋아합니다. 내가 관심을 가졌던 바로 그 개념, 당신은 당신의 투기 적 대답에 대해 자세히 설명 할 수 있습니까? –

    +0

    음, 생각해보십시오. 그들은 알려지지 않은 알려지지 않은 ...에 대해 제네릭을 코딩하려고합니다. 그 중 일부 식별자가 블랙 박스와 동등한 언어라는 점은 당연합니다. –

    +0

    죄송합니다, 말씀이 중요하지 않습니다. 예제를 제공해 줄 수 있습니까? –