我创建了一个调用存储过程的方法来检索很多列。我正在尝试获取每个列的名称/值并放入Dictionary。
我是使用SqlDataReader
做的,而且非常简单:
for (int i = 0; i < sqlDataReader.FieldCount; i++)
{
user.Attributes.Add(sqlDataReader.GetName(i),
sqlDataReader.GetValue(i));
}
现在我需要将其更改为使用Linq,调用我的存储过程并返回填充了数据库结果的对象User.Attributes
。
我陷入困境,如何使用Linq创建一个检索这些值的方法以及如何创建部分类(我可以使用字典吗?)。
以下是我所做的:
[global::System.Data.Linq.Mapping.FunctionAttribute(Name = "dbo.myProc")]
public Dictionary<string, object> LoadUsersList(int campId, int selectionId, string threadGUID)
{
// How to turn it in a Dictionary containing Key ( Column Name ) -
//Value ( Column Value )? Can i do without use partial class?
this.ExecuteQuery<System.Collections.IEnumerable>
(String.Format("EXEC dbo.myProc @BusinessId = {0}, @UserId = {1}",
businessId, userId));
return null;
}
任何帮助?
提前感谢。