나는 철도 지향 프로그래밍의 원칙 http://fsharpforfunandprofit.com/rop/를 사용하려고 시도하고있어 기준이 http://indiedevspot.azurewebsites.net/2015/01/20/two-track-coding-rop-for-dummies-part-2/SQL 유형 ROP와 공급자 - F 번호
나는 성공적으로 지금 우리는에 항목을 퍼팅에지고 제외하고, 코드베이스의 대부분이 구현 한 SQL을 사용하고 이러한 유형의 유효성 검사에 ROP를 사용하려고합니다. > B - -> C ->는 '-> B'-> C 당신은 그 createSomething을 알 수
let createSomething a b c = {A = a; B = b; C = c}
let createValidSomething so =
createSomething
<!> validateFunction1 so.param1
<*> validateFunction2 so.param2
<*> ...so forth and so on
레코드 유형의 인스턴스 a를 반환하는 함수입니다 : 전형적인 패턴은
그림 1 ' SQL 형식 공급자는 변경 가능한 형식을 반환합니다 (레코드가 아님). 이 시점에서
let createSQS(a, b, c, d, e, f, g) =
let sqs = context.``[dbo].[Something]``.Create(a, b, c, d, e, f, g)
sqs
, 우리가 이미 우리가 A-> B-> C-> D-작동하지 않습니다 알고
그림 2와 유사한 createSomething 기능을 구축 할 내 시도 살펴 봅시다 > e-> f-> g-> 문맥. [dbo].[Something]
. 엔티티
중간 레코드 유형을 가질 수 있고 ROP 보안 주체를 따르고 성공/실패와 일치하고 이미 유효성이 검증 된 개체를 만들 수 있음을 알고 있습니다. 하지만 그렇게 많은 단계가없는 것 같습니까?
아무에게도 좋은 패턴을 알고 있습니까? 이상적으로 Type Provider와 호환되는 Record Type을 생성하는 Figure1과 유사한 기능을 가질 수 있습니다.
나는 일을 시도하고 Skype에서 놀고 있습니다. :).
어떤 SQL 형식 공급자입니까? 다른 방법을 제공하여 구현할 수 있습니까? – forki23
FSharp.Data.SQL.SQLDataProvider –
잘 모르겠습니다. 동일한 방식으로 형식 구성을 노출하는 다른 메서드를 제공 할 수 있습니다. 예? –