获取Entity Framework查询结果并转换为DataTable的最快方法是什么?

4
我已经查看了很多答案,但我认为应该比循环结果或重新绑定和使用SqlDataAdapters更容易。
在我的情况下,性能很重要,
如何以C#或VB.Net中econtext是DbContext的最快方式获取以下查询结果的DataTable?
Dim r = (From AdCustomProperties In econtext.AdCustomProperties
         Where AdCustomProperties.AdID = AdID
         Select AdCustomProperties.PropertyTitle2, AdCustomProperties.PropertyValue2)

“实体”不应该返回“数据表”。 - OneFineDay
1
为什么需要填充“DataTable”?您可以在“实体”上进行绑定。 - OneFineDay
我有另一个查询从另一个数据库返回结果,我想将两者的结果连接起来,但我不能这样做,因为第一个返回System.Collections.Generic.IEnumerable,而第二个返回System.Data.Entity.Infrastructure.DbQuery。性能很重要,所以我认为将两个查询都放在DataTable中比强制转换更快。 - Alaa Alweish
@DonA,针对当前的问题,假设我拥有第二个数据以DataTable的形式存在,因此我肯定需要一个答案来获取以DataTable形式的EF查询。 - Alaa Alweish
你仍然不一定需要将它放入 DataTable 中。你可以使用“LINQ to DataSet”在内存中连接这两个数据源。 - John Saunders
显示剩余3条评论
1个回答

4
如果你非常关注性能并需要更快地将数据输入到数据表中而不受实体的限制,那么你应该考虑使用ADO.NET而不是EF。

或者,确实,像Dapper这样的东西。 - Jeremy McGee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接