Skip to content

Commit 2325767

Browse files
authored
samples for out of proc sql bindings (#441)
* add out of proc intial steps * rename namespace * update csproj * add outofproc proj to sln * add new samples-outofproc * remove ci.yml and extensions-ci * update xml * samples-outofproc * undo package lock updates * clean up urls * update comments * fix indentation * don't hardcode version * add nuget version range syntax * remove samplesOutofProc project * address comments * address comments part2 * missed set CommandText on output attribute * remove unused param from xml * fix formatting * test changes * fix build errors * add dependencies to Directory.package * recreated using az func extension for dependencies * remove webjob references & add worker references. * add Microsoft.AspNetCore.Mvc.Core ref * add params func * add more samples * fix output bindings and version string * adding multiple items * use default deserialization * create input and output binding folders * update xml * remove empty lines * run package restore and comments * merge main * package restore after merging main * update Mvc.Core to 2.0.1 * remove java classes * Microsoft.AspNetCore.Mvc.Core to 2.2.0 * remove java changes * remove mvc core package dependency * remove sample, simple types supported outofproc * build error fix
1 parent 311e381 commit 2325767

34 files changed

+1790
-70
lines changed

Directory.Packages.props

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,10 @@
1818
<PackageVersion Include="Newtonsoft.Json" Version="13.0.1" />
1919
<PackageVersion Include="Microsoft.AspNetCore.Http" Version="2.2.2" />
2020
<PackageVersion Include="BenchmarkDotNet" Version="0.13.1" />
21+
<PackageVersion Include="Microsoft.Azure.Functions.Worker" Version="1.10.0" />
22+
<PackageVersion Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.7.0" />
23+
<PackageVersion Include="System.Net.NameResolution" Version="4.3.0" />
24+
<PackageVersion Include="Microsoft.Azure.Functions.Worker.Extensions.Http" Version="3.0.13" />
25+
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Core" Version="2.2.0" />
2126
</ItemGroup>
2227
</Project>

WebJobs.Extensions.Sql.sln

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio Version 16
4-
VisualStudioVersion = 16.0.30204.135
3+
# Visual Studio Version 17
4+
VisualStudioVersion = 17.3.32929.385
55
MinimumVisualStudioVersion = 10.0.40219.1
6-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SqlExtensionSamples", "samples\samples-csharp\Microsoft.Azure.WebJobs.Extensions.Sql.Samples.csproj", "{B2E0EFB9-BEDB-48F7-BD5A-0E1010333475}"
6+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.WebJobs.Extensions.Sql.Samples", "samples\samples-csharp\Microsoft.Azure.WebJobs.Extensions.Sql.Samples.csproj", "{B2E0EFB9-BEDB-48F7-BD5A-0E1010333475}"
77
EndProject
88
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.WebJobs.Extensions.Sql", "src\Microsoft.Azure.WebJobs.Extensions.Sql.csproj", "{4453B407-2CA3-4011-BDE5-247FCE5C1974}"
99
EndProject
@@ -28,6 +28,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Worker.Extension.Sql", "Wor
2828
EndProject
2929
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Azure.Functions.Worker.Extension.Sql", "Worker.Extension.Sql\src\Microsoft.Azure.Functions.Worker.Extension.Sql.csproj", "{84D97605-F1BF-4083-9C93-2B68A9FBB00F}"
3030
EndProject
31+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc", "samples\samples-outofproc\Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.csproj", "{BD0CE086-1778-4B08-905F-6766399C1D44}"
32+
EndProject
3133
Global
3234
GlobalSection(SolutionConfigurationPlatforms) = preSolution
3335
Debug|Any CPU = Debug|Any CPU
@@ -54,6 +56,10 @@ Global
5456
{84D97605-F1BF-4083-9C93-2B68A9FBB00F}.Debug|Any CPU.Build.0 = Debug|Any CPU
5557
{84D97605-F1BF-4083-9C93-2B68A9FBB00F}.Release|Any CPU.ActiveCfg = Release|Any CPU
5658
{84D97605-F1BF-4083-9C93-2B68A9FBB00F}.Release|Any CPU.Build.0 = Release|Any CPU
59+
{BD0CE086-1778-4B08-905F-6766399C1D44}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
60+
{BD0CE086-1778-4B08-905F-6766399C1D44}.Debug|Any CPU.Build.0 = Debug|Any CPU
61+
{BD0CE086-1778-4B08-905F-6766399C1D44}.Release|Any CPU.ActiveCfg = Release|Any CPU
62+
{BD0CE086-1778-4B08-905F-6766399C1D44}.Release|Any CPU.Build.0 = Release|Any CPU
5763
EndGlobalSection
5864
GlobalSection(SolutionProperties) = preSolution
5965
HideSolutionNode = FALSE
@@ -64,6 +70,7 @@ Global
6470
{A5B55530-71C8-4A9A-92AD-1D33A5E80FC1} = {F7E99EB5-47D3-4B50-A6AA-D8D5508A121A}
6571
{1A5148B7-F877-4813-852C-F94D6EF795E8} = {F0F3562F-9176-4461-98E4-13D38D3DD056}
6672
{84D97605-F1BF-4083-9C93-2B68A9FBB00F} = {605E19C0-3A77-477F-928E-85B8972B734D}
73+
{BD0CE086-1778-4B08-905F-6766399C1D44} = {3691FB44-971D-43FD-9B2F-916B8CE689DB}
6774
EndGlobalSection
6875
GlobalSection(ExtensibilityGlobals) = postSolution
6976
SolutionGuid = {49902AA5-150F-4567-B562-4AA8549B2CF4}

Worker.Extension.Sql/src/Properties/AssemblyInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33

44
using Microsoft.Azure.Functions.Worker.Extensions.Abstractions;
55

6-
[assembly: ExtensionInformation("Microsoft.Azure.WebJobs.Extensions.Sql", "0.*-preview")]
6+
[assembly: ExtensionInformation("Microsoft.Azure.WebJobs.Extensions.Sql", "0.*-*")]

performance/packages.lock.json

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -224,28 +224,6 @@
224224
"Microsoft.Net.Http.Headers": "2.2.0"
225225
}
226226
},
227-
"Microsoft.AspNetCore.Mvc.Core": {
228-
"type": "Transitive",
229-
"resolved": "2.2.0",
230-
"contentHash": "ALiY4a6BYsghw8PT5+VU593Kqp911U3w9f/dH9/ZoI3ezDsDAGiObqPu/HP1oXK80Ceu0XdQ3F0bx5AXBeuN/Q==",
231-
"dependencies": {
232-
"Microsoft.AspNetCore.Authentication.Core": "2.2.0",
233-
"Microsoft.AspNetCore.Authorization.Policy": "2.2.0",
234-
"Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0",
235-
"Microsoft.AspNetCore.Http": "2.2.0",
236-
"Microsoft.AspNetCore.Http.Extensions": "2.2.0",
237-
"Microsoft.AspNetCore.Mvc.Abstractions": "2.2.0",
238-
"Microsoft.AspNetCore.ResponseCaching.Abstractions": "2.2.0",
239-
"Microsoft.AspNetCore.Routing": "2.2.0",
240-
"Microsoft.AspNetCore.Routing.Abstractions": "2.2.0",
241-
"Microsoft.Extensions.DependencyInjection": "2.2.0",
242-
"Microsoft.Extensions.DependencyModel": "2.1.0",
243-
"Microsoft.Extensions.FileProviders.Abstractions": "2.2.0",
244-
"Microsoft.Extensions.Logging.Abstractions": "2.2.0",
245-
"System.Diagnostics.DiagnosticSource": "4.5.0",
246-
"System.Threading.Tasks.Extensions": "4.5.1"
247-
}
248-
},
249227
"Microsoft.AspNetCore.Mvc.Formatters.Json": {
250228
"type": "Transitive",
251229
"resolved": "2.2.0",
@@ -2158,6 +2136,29 @@
21582136
"Microsoft.Net.Http.Headers": "2.2.0"
21592137
}
21602138
},
2139+
"Microsoft.AspNetCore.Mvc.Core": {
2140+
"type": "CentralTransitive",
2141+
"requested": "[2.2.0, )",
2142+
"resolved": "2.2.0",
2143+
"contentHash": "ALiY4a6BYsghw8PT5+VU593Kqp911U3w9f/dH9/ZoI3ezDsDAGiObqPu/HP1oXK80Ceu0XdQ3F0bx5AXBeuN/Q==",
2144+
"dependencies": {
2145+
"Microsoft.AspNetCore.Authentication.Core": "2.2.0",
2146+
"Microsoft.AspNetCore.Authorization.Policy": "2.2.0",
2147+
"Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0",
2148+
"Microsoft.AspNetCore.Http": "2.2.0",
2149+
"Microsoft.AspNetCore.Http.Extensions": "2.2.0",
2150+
"Microsoft.AspNetCore.Mvc.Abstractions": "2.2.0",
2151+
"Microsoft.AspNetCore.ResponseCaching.Abstractions": "2.2.0",
2152+
"Microsoft.AspNetCore.Routing": "2.2.0",
2153+
"Microsoft.AspNetCore.Routing.Abstractions": "2.2.0",
2154+
"Microsoft.Extensions.DependencyInjection": "2.2.0",
2155+
"Microsoft.Extensions.DependencyModel": "2.1.0",
2156+
"Microsoft.Extensions.FileProviders.Abstractions": "2.2.0",
2157+
"Microsoft.Extensions.Logging.Abstractions": "2.2.0",
2158+
"System.Diagnostics.DiagnosticSource": "4.5.0",
2159+
"System.Threading.Tasks.Extensions": "4.5.1"
2160+
}
2161+
},
21612162
"Microsoft.Azure.WebJobs": {
21622163
"type": "CentralTransitive",
21632164
"requested": "[3.0.32, )",

samples/samples-csharp/packages.lock.json

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -212,28 +212,6 @@
212212
"Microsoft.Net.Http.Headers": "2.2.0"
213213
}
214214
},
215-
"Microsoft.AspNetCore.Mvc.Core": {
216-
"type": "Transitive",
217-
"resolved": "2.2.0",
218-
"contentHash": "ALiY4a6BYsghw8PT5+VU593Kqp911U3w9f/dH9/ZoI3ezDsDAGiObqPu/HP1oXK80Ceu0XdQ3F0bx5AXBeuN/Q==",
219-
"dependencies": {
220-
"Microsoft.AspNetCore.Authentication.Core": "2.2.0",
221-
"Microsoft.AspNetCore.Authorization.Policy": "2.2.0",
222-
"Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0",
223-
"Microsoft.AspNetCore.Http": "2.2.0",
224-
"Microsoft.AspNetCore.Http.Extensions": "2.2.0",
225-
"Microsoft.AspNetCore.Mvc.Abstractions": "2.2.0",
226-
"Microsoft.AspNetCore.ResponseCaching.Abstractions": "2.2.0",
227-
"Microsoft.AspNetCore.Routing": "2.2.0",
228-
"Microsoft.AspNetCore.Routing.Abstractions": "2.2.0",
229-
"Microsoft.Extensions.DependencyInjection": "2.2.0",
230-
"Microsoft.Extensions.DependencyModel": "2.1.0",
231-
"Microsoft.Extensions.FileProviders.Abstractions": "2.2.0",
232-
"Microsoft.Extensions.Logging.Abstractions": "2.2.0",
233-
"System.Diagnostics.DiagnosticSource": "4.5.0",
234-
"System.Threading.Tasks.Extensions": "4.5.1"
235-
}
236-
},
237215
"Microsoft.AspNetCore.Mvc.Formatters.Json": {
238216
"type": "Transitive",
239217
"resolved": "2.2.0",
@@ -1760,6 +1738,29 @@
17601738
"System.Diagnostics.DiagnosticSource": "5.0.0"
17611739
}
17621740
},
1741+
"Microsoft.AspNetCore.Mvc.Core": {
1742+
"type": "CentralTransitive",
1743+
"requested": "[2.2.0, )",
1744+
"resolved": "2.2.0",
1745+
"contentHash": "ALiY4a6BYsghw8PT5+VU593Kqp911U3w9f/dH9/ZoI3ezDsDAGiObqPu/HP1oXK80Ceu0XdQ3F0bx5AXBeuN/Q==",
1746+
"dependencies": {
1747+
"Microsoft.AspNetCore.Authentication.Core": "2.2.0",
1748+
"Microsoft.AspNetCore.Authorization.Policy": "2.2.0",
1749+
"Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0",
1750+
"Microsoft.AspNetCore.Http": "2.2.0",
1751+
"Microsoft.AspNetCore.Http.Extensions": "2.2.0",
1752+
"Microsoft.AspNetCore.Mvc.Abstractions": "2.2.0",
1753+
"Microsoft.AspNetCore.ResponseCaching.Abstractions": "2.2.0",
1754+
"Microsoft.AspNetCore.Routing": "2.2.0",
1755+
"Microsoft.AspNetCore.Routing.Abstractions": "2.2.0",
1756+
"Microsoft.Extensions.DependencyInjection": "2.2.0",
1757+
"Microsoft.Extensions.DependencyModel": "2.1.0",
1758+
"Microsoft.Extensions.FileProviders.Abstractions": "2.2.0",
1759+
"Microsoft.Extensions.Logging.Abstractions": "2.2.0",
1760+
"System.Diagnostics.DiagnosticSource": "4.5.0",
1761+
"System.Threading.Tasks.Extensions": "4.5.1"
1762+
}
1763+
},
17631764
"Microsoft.Azure.WebJobs": {
17641765
"type": "CentralTransitive",
17651766
"requested": "[3.0.32, )",
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"recommendations": [
3+
"ms-azuretools.vscode-azurefunctions",
4+
"ms-dotnettools.csharp"
5+
]
6+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"name": "Attach to .NET Functions",
6+
"type": "coreclr",
7+
"request": "attach",
8+
"processId": "${command:azureFunctions.pickProcess}"
9+
}
10+
]
11+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"azureFunctions.deploySubpath": "bin/Release/net6.0/publish",
3+
"azureFunctions.projectLanguage": "C#",
4+
"azureFunctions.projectRuntime": "~4",
5+
"debug.internalConsoleOptions": "neverOpen",
6+
"azureFunctions.preDeployTask": "publish (functions)"
7+
}
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
{
2+
"version": "2.0.0",
3+
"tasks": [
4+
{
5+
"label": "clean (functions)",
6+
"command": "dotnet",
7+
"args": [
8+
"clean",
9+
"/property:GenerateFullPaths=true",
10+
"/consoleloggerparameters:NoSummary"
11+
],
12+
"type": "process",
13+
"problemMatcher": "$msCompile"
14+
},
15+
{
16+
"label": "build (functions)",
17+
"command": "dotnet",
18+
"args": [
19+
"build",
20+
"/property:GenerateFullPaths=true",
21+
"/consoleloggerparameters:NoSummary"
22+
],
23+
"type": "process",
24+
"dependsOn": "clean (functions)",
25+
"group": {
26+
"kind": "build",
27+
"isDefault": true
28+
},
29+
"problemMatcher": "$msCompile"
30+
},
31+
{
32+
"label": "clean release (functions)",
33+
"command": "dotnet",
34+
"args": [
35+
"clean",
36+
"--configuration",
37+
"Release",
38+
"/property:GenerateFullPaths=true",
39+
"/consoleloggerparameters:NoSummary"
40+
],
41+
"type": "process",
42+
"problemMatcher": "$msCompile"
43+
},
44+
{
45+
"label": "publish (functions)",
46+
"command": "dotnet",
47+
"args": [
48+
"publish",
49+
"--configuration",
50+
"Release",
51+
"/property:GenerateFullPaths=true",
52+
"/consoleloggerparameters:NoSummary"
53+
],
54+
"type": "process",
55+
"dependsOn": "clean release (functions)",
56+
"problemMatcher": "$msCompile"
57+
},
58+
{
59+
"type": "func",
60+
"dependsOn": "build (functions)",
61+
"options": {
62+
"cwd": "${workspaceFolder}/bin/Debug/net6.0"
63+
},
64+
"command": "host start",
65+
"isBackground": true,
66+
"problemMatcher": "$func-dotnet-watch"
67+
}
68+
]
69+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License. See License.txt in the project root for license information.
3+
4+
// This file is used by Code Analysis to maintain SuppressMessage
5+
// attributes that are applied to this project.
6+
// Project-level suppressions either have no target or are given
7+
// a specific target and scoped to a namespace, type, member, etc.
8+
9+
using System.Diagnostics.CodeAnalysis;
10+
11+
// These suppression rules override parameters required by functions binding that cannot be converted to discard variables per issue: https://github.com/Azure/azure-functions-dotnet-worker/issues/323
12+
[assembly: SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Unused parameter is required by functions binding", Scope = "member", Target = "~M:Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.InputBindingSamples.GetProducts.Run(Microsoft.AspNetCore.Http.HttpRequest,System.Collections.Generic.IEnumerable{Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.Common.Product})~System.Collections.Generic.IEnumerable{Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.Common.Product}")]
13+
[assembly: SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Unused parameter is required by functions binding", Scope = "member", Target = "~M:Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.InputBindingSamples.GetProductNamesView.Run(Microsoft.AspNetCore.Http.HttpRequest,System.Collections.Generic.IEnumerable{Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.Common.ProductName})~System.Collections.Generic.IEnumerable{Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.Common.ProductName}")]
14+
[assembly: SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Unused parameter is required by functions binding", Scope = "member", Target = "~M:Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.InputBindingSamples.GetProductsAsyncEnumerable.Run(Microsoft.AspNetCore.Http.HttpRequest,System.Collections.Generic.IAsyncEnumerable{Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.Common.Product})~System.Threading.Tasks.Task{System.Collections.Generic.List{Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.Common.Product}")]
15+
[assembly: SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Unused parameter is required by functions binding", Scope = "member", Target = "~M:Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.InputBindingSamples.GetProductsNameEmpty.Run(Microsoft.AspNetCore.Http.HttpRequest,System.Collections.Generic.IEnumerable{Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.Common.Product})~System.Collections.Generic.IEnumerable{Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.Common.Product}")]
16+
[assembly: SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Unused parameter is required by functions binding", Scope = "member", Target = "~M:Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.InputBindingSamples.GetProductsNameNull.Run(Microsoft.AspNetCore.Http.HttpRequest,System.Collections.Generic.IEnumerable{Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.Common.Product})~System.Collections.Generic.IEnumerable{Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.Common.Product}")]
17+
[assembly: SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Unused parameter is required by functions binding", Scope = "member", Target = "~M:Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.InputBindingSamples.GetProductsStoredProcedure.Run(Microsoft.AspNetCore.Http.HttpRequest,System.Collections.Generic.IEnumerable{Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.Common.Product})~System.Collections.Generic.IEnumerable{Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.Common.Product}")]
18+
[assembly: SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Unused parameter is required by functions binding", Scope = "member", Target = "~M:Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.InputBindingSamples.GetProductsStoredProcedureFromAppSetting.Run(Microsoft.AspNetCore.Http.HttpRequest,System.Collections.Generic.IEnumerable{Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.Common.Product})~System.Collections.Generic.IEnumerable{Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.Common.Product}")]
19+
[assembly: SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Unused parameter is required by functions binding", Scope = "member", Target = "~M:Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.InputBindingSamples.GetProductsString.Run(Microsoft.AspNetCore.Http.HttpRequest,System.String)~System.String")]
20+
[assembly: SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Unused parameter is required by functions binding", Scope = "member", Target = "~M:Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.InputBindingSamples.GetProductsTopN.Run(Microsoft.AspNetCore.Http.HttpRequest,System.Collections.Generic.IEnumerable{Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.Common.Product})~System.Collections.Generic.IEnumerable{Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.Common.Product}")]
21+
[assembly: SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Unused parameter is required by functions binding", Scope = "member", Target = "~M:Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.OutputBindingSamples.AddProductsWithIdentityColumnArray.Run(Microsoft.AspNetCore.Http.HttpRequest)~Microsoft.Azure.WebJobs.Extensions.Sql.SamplesOutOfProc.Common.ProductWithoutId[]")]

0 commit comments

Comments
 (0)