代码之家  ›  专栏  ›  技术社区  ›  Robert Koritnik

哪些DAL库支持存储过程执行和结果实现

  •  1
  • Robert Koritnik  · 技术社区  · 14 年前

    我习惯了EF,因为它通常工作得很好,只要你更好地了解它,所以你知道如何优化你的查询。但是。

    所以我有点困惑我应该使用哪种DAL技术/库?我不想使用SqlConnection/SqlCommand来完成这项工作,因为我需要编写更多的代码来隐藏一些不明显的错误。

    我想使缺陷表面尽可能小,并使用一种技术,将适应我的进程,而不是相反。。。

    有没有图书馆能让我:

    • 提供按名称执行简单SP的方法

    比如:

    List<Person> result = Context.Execute("StoredProcName", record => new Person{
        Name = record.GetData<string>("PersonName"),
        UserName = record.GetData<string>("UserName"),
        Age = record.GetData<int>("Age"),
        Gender = record.GetEnum<PersonGender>("Gender")
        ...
    });
    

    甚至调用返回多个结果集的存储过程等。

    List<Question> result = Context.ExecuteMulti("SPMultipleResults", q => new Question {
        Id = q.GetData<int>("QuestionID"),
        Title = q.GetData<string>("Title"),
        Content = q.GetData<string>("Content"),
        Comments = new List<Comment>()
    }, c => new Comment {
        Id = c.GetData<int>("CommentID"),
        Content = c.GetData<string>("Content")
    });
    

    基本上这最后一个不起作用,因为这一个不知道如何把两者结合在一起。。。但你明白了。

    所以要把这一切归结为一个问题:

    1 回复  |  直到 14 年前
        1
  •  0
  •   Robert Koritnik    14 年前

    Business Layer Toolkit 可能正是这里需要的。它是一个轻量级的ORM工具,支持许多场景,包括多个结果集,尽管它们看起来非常复杂。