2013-03-12 3 views
2

VisualStudio 갤러리에서 C#/F # 템플릿을 사용하여 F # ASP.NET MVC 4 응용 프로그램을 빌드하는 동안 의심의 여지가있었습니다. 나는 다음과 같은 모델 클래스가 : F 번호가 마지막 같은 경우에, 자신의 유형이ASP.NET MVC를 사용하는 F # 유형 또는 시스템 유형?

namespace MyApp.Models 

open System 
open System.ComponentModel.DataAnnotations 
open System.Collections.Generic 

type Product() = 
    [<Key>] member val Id = Guid.NewGuid() with get, set 
    [<Required>] member val Name = "" with get, set 
    member val Iban = "" with get, set 
    member val Categories = new List<ProductCategory>() with get, set 

, 우리는 F 번호에 상응를 사용해야합니다 (AN F 번호 목록, 순서를 ...) 또는 우리는 시스템을 사용한다 유형? 그렇다면 추론은 무엇입니까?

대단히 감사합니다!

답변

2

엄지 손가락으로 말하자면, 어떤 언어로 모델을 사용하고 있는지 살펴 보겠습니다. F #이면 끝까지 가라. 그것이 섞인다면 좀 더 신중해야합니다. 제쳐두고, Option<>List<>은 C#과 잘 어울립니다 (코드의 일부를 "정리"하기 위해 유형 별명이 필요함). 또한 F # 시퀀스는 단지 IEnumerable<>이므로 걱정할 필요가 없습니다. 또한 F #에서 배열과 ResizeArray<> (일명 System.Collections.Generic.List<>)을 사용하는 데는 문제가 없습니다. 단지 주 (state) 변이에 유의해야합니다.

+0

내가 고려하지 않은 한 가지 세부 사항은 Entity Framework를 사용한다는 사실입니다. 나는 조금 더 자세히 조사 할 것이지만, 가장 안전한 옵션은 어쨌든 시스템 유형을 유지하는 것이며 순수 F # 코드의 분리 된 비트 인 컨트롤러 내부의 F # 유형으로 재생하는 것입니다. 귀하의 의견을 주셔서 감사합니다, 나는 그것을 명확하게 넣어 누군가가 필요하다고 생각;). 건배! –

관련 문제