首页 新闻 会员 周边 捐助

怎样从EntityFramework中获取ADO.NET连接字符串

0
悬赏园豆:10 [已解决问题] 解决于 2016-01-28 18:58

EF使用过程中,碰到一个批量添加数据的问题,

想用 SqlBulkCopy对象,因而需要ADO.NET的连接字符串和连接对象,

EF的连接字符串和ADO.NET的有很大出入,无法使用。

请教各位有什么方法从EF中获取ADO.NET的连接字符串或连接对象?

_天光云影的主页 _天光云影 | 初学一级 | 园豆:70
提问于:2016-01-28 16:28
< >
分享
最佳答案
1

为EF自动生成的DataContext创建一个partial class,然后this.Database.Connection.ConnectionString就有了

收获园豆:4
jello chen | 大侠五级 |园豆:7336 | 2016-01-28 17:59

感谢各位!

_天光云影 | 园豆:70 (初学一级) | 2016-01-28 19:00
其他回答(2)
0

推荐别了. 直接用ef的一个一个add.他是事务提交.没必要为了这种东西去弄.

真要的做的话,去github上找个ef的批量提交扩展.

收获园豆:3
吴瑞祥 | 园豆:29449 (高人七级) | 2016-01-28 16:31

不少于数十万条数据,一个一个Add效率应该不行吧?

支持(0) 反对(0) _天光云影 | 园豆:70 (初学一级) | 2016-01-28 16:57

@_天光云影: EF只有在savechange的时候才会提交.你add多少个跟数据库没关系.

savechange又是事务提交的.所以性能不会太大问题.不过如果到了10W了那可以去写扩展了..

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2016-01-28 17:00

@吴瑞祥: 感谢各位!

支持(0) 反对(0) _天光云影 | 园豆:70 (初学一级) | 2016-01-28 19:00
0

BaseContext _dbContext = new BaseContext();   //数据上下文

 1.    _dbContext.Database.ExecuteSqlCommand(...)  //执行sql语句

2.     _dbContext.Database.SqlQuery<T>(...)   //我经常使用这个执行sql存储过程。

收获园豆:3
大叔、 | 园豆:84 (初学一级) | 2016-01-28 17:50

感谢各位!

支持(0) 反对(0) _天光云影 | 园豆:70 (初学一级) | 2016-01-28 19:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册