6
Sto provando a utilizzare il provider di tipo ODataService con Netflix. Questo funziona bene:Nessuna proprietà 'HasValue' esiste per nullable int per ODataService Tipo Provider
type internal NetflixData = ODataService<"http://odata.netflix.com/Catalog/">
let internal NetflixContext = NetflixData.GetDataContext()
let godzillamovies = query { for t in NetflixContext.Titles do
where (t.Name.Contains "Godzilla")
select (t.Name, t.ReleaseYear)
} |> Seq.toList
ma restituisce tutti gli episodi della trasmissione: Godzilla, senza date con anno di rilascio (BOO). Così, aggiorno il mio query per:
let godzillamovies = query { for t in NetflixContext.Titles do
where (t.Name.Contains "Godzilla" && t.ReleaseYear.HasValue)
select (t.Name, t.ReleaseYear.Value)
} |> Seq.toList
E sto confrontato con il seguente errore:
<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>
<error xmlns=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\">
<code></code>
<message xml:lang=\"en-US\">No property 'HasValue' exists in type 'System.Nullable`1[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]' at position 45.</message>
</error>
Uh, HasValue non esiste per int nullable? Da quando?
ho dovuto cambiare la selezione per selezionare '(t.Name, t.ReleaseYear.Value)' ma perfetto, grazie. – rachel