mvc经典sql vs EF

时间:2014-01-05 13:21:21

标签: c# mysql sql performance entity-framework

是否有任何人具有从经典SQL迁移到EF的经验。

我熟悉这段代码:

using(MySqlConnection b = new MySqlConnection()) {
    b.ConnectionString = varAccordingToServer.StandardMySQLConnectionString;
    b.Open();
    c.Connection = b;
    c.CommandText = "select count(*) from myTable where condition='1'";
    string t = c.ExecuteScalar().ToString();
}

如果我开始使用EF,是否会有任何性能损失?

谢谢,

2 个答案:

答案 0 :(得分:4)

有很好的抽象,性能损失很大。

是的,可能会有一些性能损失,但在大多数应用程序中它并不重要。 我建议你试试EF方式,如果你证明它的某些部分会妨碍性能,那就特别优化这个部分。 EF可能会提高您的代码和团队的速度,以至于您以后有时间担心性能。

答案 1 :(得分:2)

是的,每当您选择ORM工具(如EF或NHibernate)时,都会出现性能损失。但是,性能损失可能微不足道。现在,您最不担心的应该是性能,您将看到的主要问题是使用完全支持MySql实体框架的连接器......好吧,我假设您的后端数据库是MySql数据库。我仍然没有碰到一个连接器,不会放弃对某些功能的支持。