LinQ - 检索列名称和值

时间:2014-06-27 18:15:37

标签: c# sql sql-server linq stored-procedures

我创建了一个调用存储过程的方法来检索很多列。我正在尝试获取每个列的名称/值并放入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;
}

任何帮助?

提前感谢。

0 个答案:

没有答案