Skip to content

Commit f1249b2

Browse files
author
Sam Hanes
committed
Don't attatch non-provided types
1 parent e662a1d commit f1249b2

3 files changed

Lines changed: 15 additions & 5 deletions

File tree

src/SqlClient/DesignTime.fs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,15 @@ module internal SharedLogic =
6262
let alterReturnTypeAccordingToResultType (returnType: ReturnType) (cmdProvidedType: ProvidedTypeDefinition) resultType =
6363
if resultType = ResultType.Records then
6464
// Add .Record
65-
returnType.PerRow |> Option.iter (fun x -> cmdProvidedType.AddMember x.Provided)
65+
returnType.PerRow |> Option.iter (fun x ->
66+
if x.Provided <> x.ErasedTo
67+
then cmdProvidedType.AddMember x.Provided
68+
)
6669
elif resultType = ResultType.DataTable then
6770
// add .Table
68-
returnType.Single |> cmdProvidedType.AddMember
71+
returnType.Single |> function
72+
| :? ProvidedTypeDefinition -> cmdProvidedType.AddMember returnType.Single
73+
| _ -> ()
6974

7075
module Prefixes =
7176
let tempTable = "##SQLCOMMANDPROVIDER_"

src/SqlClient/SqlClient.fsproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<DocumentationFile>
2727
</DocumentationFile>
2828
<StartAction>Program</StartAction>
29-
<StartProgram>C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe</StartProgram>
29+
<StartProgram>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe</StartProgram>
3030
<StartArguments>..\Tests.sln</StartArguments>
3131
<NoWarn>101</NoWarn>
3232
<OtherFlags>--warnon:1182</OtherFlags>

src/SqlClient/SqlClientProvider.fs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -515,9 +515,14 @@ type SqlProgrammabilityProvider(config : TypeProviderConfig) as this =
515515
if resultType = ResultType.DataTable then
516516
// if we don't do this, we get a compile error
517517
// Error The type provider 'FSharp.Data.SqlProgrammabilityProvider' reported an error: type 'Table' was not added as a member to a declaring type <type instanciation name>
518-
cmdProvidedType.AddMember( returnType.Single)
518+
returnType.Single |> function
519+
| :? ProvidedTypeDefinition -> cmdProvidedType.AddMember returnType.Single
520+
| _ -> ()
519521
else
520-
returnType.PerRow |> Option.iter (fun x -> cmdProvidedType.AddMember x.Provided)
522+
returnType.PerRow |> Option.iter (fun x ->
523+
x.Provided |> function
524+
| :? ProvidedTypeDefinition -> cmdProvidedType.AddMember x.Provided
525+
| _ -> ())
521526

522527
let designTimeConfig =
523528
let expectedDataReaderColumns =

0 commit comments

Comments
 (0)