Verfahren (modifiziert):C# retrieve gespeicherte Prozedur führt
alter procedure searchProgramUnitResult(
@id char(10)
)
as
begin
select id from table1 where id = @id
end
Sam Verfahren im DBML Designer (nach der Prozedur in MVC-Projekt zu importieren):
[global::System.Data.Linq.Mapping.FunctionAttribute(Name="dbo.searchProgramUnit")]
public ISingleResult<searchProgramUnitResult> searchProgramUnit([global::System.Data.Linq.Mapping.ParameterAttribute(DbType="VarChar(10)")] ref string id){
IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())),id);
id = ((string)(result.GetParameterValue(0)));
return ((ISingleResult<searchProgramUnitResult>)(result.ReturnValue));
}
Frage ist, wie kann ich das Ergebnis in einer anderen C# -Klasse abrufen?
public ??Data-type search (string id){
DataContextClass db = new DataContextClass();
??Datatype results = db.searchProgramUnit(id);
return results;
}
Ihre gespeicherte Prozedurdefinition sieht seltsam aus - Sie geben an, dass '@ id' ein _output_ ist, aber Sie verwenden es wie ein _input_ (und setzen es nie auf etwas). –
versuchen Sie einfach meine Antwort und geben Sie mir eine Rückmeldung, wird dieser Link Ihnen helfen 2 http://StackOverflow.com/Questions/4873607/How-To-use-dbcontext-Database-SqlqueryTeilementsql-Params-with-stored-proced –