仅适用于存储过程的ORM:首选工具

时间:2013-01-22 16:08:36

标签: .net orm ado.net

通常我使用Entity Framowrk作为我的ORM工具。 我非常喜欢“功能导入”功能和代码生成器。

但是,当我读到非常厚实且非常严肃的书时,使用EF仅调用SP并不是一个好主意。

只有作者忘了这件事:哪种工具最适合这种数据库调用策略?

4 个答案:

答案 0 :(得分:2)

如果你已经投入时间学习EF,那么你可以坚持下去。或者对于大多数项目来说,像Dapper,Massive和PetaPoco这样的微型ORM就足够了。例如,Dapper开发用于@ StackExchange我相信 - 它现在是开源的。

答案 1 :(得分:1)

查看BLToolkit,与EF相比,学习曲线非常低

同时查看此Blt扩展名 - > bltoolkit-storedprocedures2csharp-t4/ 使用T4模板为您的存储过程生成函数

普通Bltoolkit

using(var db = new DbManager())
{
  return db
    .SetSpCommand(
      "Person_SaveWithRelations",
      db.Parameter("@Name", name),
      db.Parameter("@Email", email),
      db.Parameter("@Birth", birth),
      db.Parameter("@ExternalID", exId),
    )
    .ExecuteObject<Person>();
}

使用扩展名

using (var db = new DataManager())
{
  return db
    .Person
    .SaveWithRelations(
      name,
      email,
      birth,
      exId
    )
    .ExecuteObject<Person>();
}

(免责声明:因为我没有很多SP,所以我自己没有使用扩展名)

答案 2 :(得分:0)

我认为来自Microsoft Enterprise Library的数据访问块是最佳选择。我在几个项目中使用它来仅使用存储过程查询外部数据库。最新版本配置非常简单,使用方便。它也不会给您带来额外的功能,并且只提供您所需要的功能。 如果您想要简单快速的配置和使用方法,请使用它,这是我的建议。

答案 3 :(得分:0)

尝试使用BLToolkit - 它是开源的,允许将对象映射到存储过程参数并将存储过程输出映射到对象而没有任何问题

bltoolkit home bltoolkit sources

相关问题