是否可以在没有LINQ的情况下使用Entity Framework?

时间:2013-06-11 15:20:18

标签: linq entity-framework linq-to-entities

是否可以在没有LINQ(linq to entities)的情况下使用实体框架?

2 个答案:

答案 0 :(得分:11)

分别使用Linq to Entities和EF并不清楚你的意思。这是一个单独的库 EntityFramework.dll 。如果要在纯SQL上编写查询,可以使用DbSet类的SqlQuery()方法执行此操作:

var users = context.Users.SqlQuery("SELECT * FROM dbo.Users").ToList();

在这种情况下,EF仅用作映射器,但它不会生成查询。

更新根据您的评论,您希望避免引用Linq。答案是 - 你不能这样做,因为EF引用了 System.Linq 命名空间。考虑将NHibernate与Criteria API一起使用。

请记住 - Linq已融入语言。最好花一些时间绕过它,而不是避免它。 Linq非常强大,您不仅可以将它用于数据库访问,还可以用于日常处理内存集合,xml,数据集等。

答案 1 :(得分:6)

是的可能,但不确定为什么会这样。如果你打算使用这样的查询:

var users = context.Users.SqlQuery("SELECT * FROM dbo.Users").ToList();

如上所述,那么为什么不完全抛弃EF并使用类似dapper的东西,这非常容易使用,而且速度快,开销少。在没有linq的情况下使用EF可以获得EF的所有不良部分(膨胀,速度慢),而没有LINQ查询功能的优势,这使得它非常强大。

相关问题