我有许多表包含一些基本(业务相关)映射数据。 从这些表加载数据的最简单方法是什么,然后保存修改后的值。 (所有数据都应在表格中替换)
ORM是不可能的,因为我想避免为每个表创建域对象。
实际编辑数据不是问题。 (将其导出到Excel中编辑数据,然后使用修改后的数据上载文件)
该技术是.NET 3.5(ASP.NET MVC)和SQL Server 2005。
感谢。
答案 0 :(得分:3)
SSIS package对你正在做的事情非常有效。
因为无论如何都要在应用程序和Excel电子表格之外完成所有操作,这比在MVC中执行某些操作更容易。
如果你真的想让它“最终用户”友好,那么为他们提供上传文件的方法,将其放到某个地方的文件夹中,并确保你安排File Watcher Task in SSIS。
答案 1 :(得分:1)
当您使用SQL Server 2005时,我建议将结果作为XML而不是标准行集返回。 使用FOR XML子句。然后修改此XML并将其应用于SQL Server。 请查看更多details
<强>增加:强>
关于excel..hm..use dataConnection(用于excel的OLEDB提供程序)打开此xls文件,然后将其转换为XML。 XML适用于SQL Server
答案 2 :(得分:1)
您可以编写一些这样的简单代码。 http://davidhayden.com/blog/dave/archive/2006/03/08/2877.aspx
// Get data in a DataTable
DataTable table = new DataTable();
string northwindConnectionString = "...Northwind...";
using (SqlConnection connection =
new SqlConnection(northwindConnectionString))
{
using (SqlCommand command = connection.CreateCommand())
{
command.CommandText = "SELECT * FROM Categories";
connection.Open();
using (IDataReader dr = command.ExecuteReader
(CommandBehavior.CloseConnection))
{
table.Load(dr);
}
}
}
// Upload DataTable to a Database Table
string destinationConnectionString = "...";
using (SqlBulkCopy copy =
new SqlBulkCopy(destinationConnectionString))
{
copy.DestinationTableName = "Categories";
copy.WriteToServer(table);
}