我当前的项目由 3 个标准层组成:数据、业务和表示。我想使用数据实体来满足我的所有数据访问需求。该应用程序的部分功能是需要将平面文件中的所有数据复制到数据库中。文件不是很大,所以我可以使用 SqlBulkCopy。我发现了几篇关于 .NET 中 SqlBulkCopy 类的使用的文章。然而,所有文章都使用 DataTables 来回移动数据。
有没有办法将数据实体与 SqlBulkCopy 一起使用,或者我必须使用 DataTables?
您需要将实体转换为 IDataReader 或 DataTable。
有一个小助手类旨在协助:http://archive.msdn.microsoft.com/LinqEntityDataReader/Release/ProjectReleases.aspx?ReleaseId=389 http://archive.msdn.microsoft.com/LinqEntityDataReader/Release/ProjectReleases.aspx?ReleaseId=389
编辑:msdn 链接已损坏,可以在此处找到替代副本:https://github.com/matthewschrager/Repository/blob/master/Repository.EntityFramework/EntityDataReader.cs https://github.com/matthewschrager/Repository/blob/master/Repository.EntityFramework/EntityDataReader.cs
然后你可以像这样使用 SqlBulkCopy :
var sbCopy= new SqlBulkCopy(connectionString);
sbCopy.DestinationTableName = "TableName";
sbCopy.WriteToServer(entitiesList.AsDataReader());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)