添加/插入 petapoco vs dapper 的风格

Posted

技术标签:

【中文标题】添加/插入 petapoco vs dapper 的风格【英文标题】:Add/Insert style of petapoco vs dapper 【发布时间】:2013-10-31 18:37:32 【问题描述】:

我对此高兴

// 用peta poco插入一条记录

var a = new Article();
a.title="My new article";
a.content="PetaPoco was here";
a.date_created=DateTime.UtcNow;
db.Insert(a);

我对此分心

// 用 dapper 插入一条记录

var a = new Article();
a.title="My new article";
a.content="PetaPoco was here";
a.date_created=DateTime.UtcNow;
string articleQuery= "INSERT INTO Article VALUES (@Title, @Content, @Date)";        
connection.Execute(articleQuery, new  Title = a.Title, Content = a.Content, Date = a.Date );

我是 dapper 和 peta poco 的新手。可能是我还没有找到更多的 dapper,但我真的不喜欢我必须进行插入的方式。 Peta poco 似乎做的很朴素。

dapper 也能以某种方式做到这一点吗?

【问题讨论】:

【参考方案1】:

如果你更喜欢 PetaPoco 风格,那就去吧。虽然 Dapper 更出名,但 PetaPoco 具有相同的性能,具有相同的概念,但更灵活一点(IMO)

【讨论】:

@Gaspa79 是的,你是对的。对绝大多数应用程序来说已经足够了。 对于 MS Access/Jet 数据库,PetaPoco 是您的救星。【参考方案2】:

查看 dapper extensions 了解 Dapper 的“神奇”CRUD 操作:

using (SqlConnection cn = new SqlConnection(_connectionString))

    cn.Open();
    Person person = new Person  FirstName = "Foo", LastName = "Bar" ;
    int id = cn.Insert(person);
    cn.Close();

另请参阅this 线程了解更多...

【讨论】:

【参考方案3】:

开发人员使用 Drapper 是因为它的性能。对于许多网站来说,PetaPoco 已经足够好了,但如果你想提取所有服务器的“果汁”,请使用 Drapper。实际上它是 *** 使用的 ORM。可以看到所有的ORM性能对比here

【讨论】:

Dapper 和 PetaPoco 的性能基本相同,分别为 49 毫秒和 52 毫秒(示例中 EF 为 631)。

以上是关于添加/插入 petapoco vs dapper 的风格的主要内容,如果未能解决你的问题,请参考以下文章

What would be the closest equivalent in Java to a Micro ORM such as Dapper, PetaPoco, Massive or Cod

PetaPoco - 多结果集支持

轻量级ORM框架PetaPoco

PetaPoco vs NPoco

如何使用 petapoco 创建 DAL [关闭]

PetaPoco 批量插入数据