Asp.net 返回int的存储过程的返回类型
我有一个带有简单SELECT语句的存储过程:Asp.net 返回int的存储过程的返回类型,asp.net,linq,stored-procedures,linq-to-sql,Asp.net,Linq,Stored Procedures,Linq To Sql,我有一个带有简单SELECT语句的存储过程: SELECT UserId FROM SomeTable 我发现我需要创建一个新对象,以便用LINQ封装它 [FunctionAttribute(Name = "dbo.MyProc")] [ResultType(typeof(ISingleResult<TestClass>))] public ISingleResult<TestClass> GetMyProc([Parameter(Name = "SomeId", Db
SELECT UserId FROM SomeTable
我发现我需要创建一个新对象,以便用LINQ封装它
[FunctionAttribute(Name = "dbo.MyProc")]
[ResultType(typeof(ISingleResult<TestClass>))]
public ISingleResult<TestClass> GetMyProc([Parameter(Name = "SomeId", DbType = "Int")]int someId, [Parameter(Name = "AnotherId", DbType = "Int")]int anotherId)
{
var result = ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), someId, anotherId);
return (ISingleResult<TestClass>)(result.ReturnValue);
}
这似乎有点荒谬。在这种情况下,我可以避免创建TestClass吗
在这种情况下,我可以避免创建TestClass吗
不适用于您当前使用的框架
还有很多其他的选择。您可以直接使用ADO.NET;但是接下来您使用的是DataTable
,而不是TestClass
。你可以用整洁的;您仍然需要TestClass
,但不需要GetMyProc
。您可以使用生成代码的框架,如EF数据模型或其他第三方框架
但一般来说,数据需要整理成一些东西
public class TestClass
{
[Column(Name = "UserId", DbType = "Int")]
public string UserId { get; set; }
}