मुझे नहीं पता कि मैं निष्पादन समारोह के साथ क्या देख रहा था, लेकिन यह काम नहीं कर रहा था। अंततः मुझे post और अन्य प्रतिक्रियाओं में दिखाए गए आलेख से सहायता के साथ एक अंत तक समाधान मिला।
<Function Name="ProcessReplacements" ReturnType="nvarchar(max)" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="true" ParameterTypeSemantics="AllowImplicitConversion" Schema="Data">
<Parameter Name="VersionId" Type="uniqueidentifier" Mode="In" />
<Parameter Name="SurveyId" Type="uniqueidentifier" Mode="In" />
<Parameter Name="Input" Type="nvarchar(max)" Mode="In" />
</Function>
चरण दो सेटअप करने के लिए edmx फ़ाइल के रूप में ही नाम स्थान में एक वर्ग (आसानी से उसी निर्देशिका में वर्ग बनाने के द्वारा किया जाता है:
चरण एक अपने edmx फ़ाइल में समारोह पाने के लिए है edmx फ़ाइल:
using System.Data.Objects;
protected string ProcessReplacements(Guid versionId, Guid surveyId, string input)
{
if (input == null)
return null;
List<ObjectParameter> parameters = new List<ObjectParameter>(3);
parameters.Add(new ObjectParameter("VersionId", versionId));
parameters.Add(new ObjectParameter("SurveyId", surveyId));
parameters.Add(new ObjectParameter("Input", input));
var output = db.CreateQuery<string>("SurveyDesignerModel.Store.ProcessReplacements(@VersionId, @SurveyId, @Input)", parameters.ToArray())
.Execute(MergeOption.NoTracking)
.FirstOrDefault();
return output;
}
:
using System.Data.Objects.DataClasses;
namespace Same.As.Edmx
{
public static class EdmFunctions
{
[EdmFunction("SurveyDesignerModel.Store", "ProcessReplacements")]
public static string ProcessReplacements(Guid VersionId, Guid SurveyId, string Input)
{
throw new NotSupportedException("Direct calls are not supported.");
}
}
}
चरण तीन एक वस्तु क्वेरी समारोह की ओर इशारा करते लिखना है
मेरे लिए कुंजी ऑब्जेक्ट संदर्भ और "क्वेरी स्ट्रिंग" के वाक्यविन्यास पर CreateQuery कॉल था। ईडीएमएक्स में परिभाषित फ़ंक्शन के पूर्णतः योग्य संदर्भ पर ध्यान दें, यह मेरा लापता लिंक था :-)
स्रोत
2011-09-28 22:50:14
रिटर्न प्रकार क्या है? शायद यह आपकी मदद कर सकता है यदि आपके पास जटिल रिटर्न प्रकार हैं - http://blogs.msdn.com/b/nihitk/archive/2010/04/23/ado-net-entity-designer-in-vs-2010-stored-procedure -return-type-shape-sensing.aspx – VinayC
वर्कर (100) एक जटिल प्रकार नहीं है जो मुझे लगता है ... – Helio