【发布时间】:2012-03-15 19:50:19
【问题描述】:
我有一个遗留项目,我们正在慢慢迁移到 MVC,但是有数百个 ADO.NET SQL 数据集对象
我想将数据集保留在模型中并在视图中访问它。这是可能的,还是有更好的方法来做到这一点?创建列表很困难,因为数据太多。我们最终会将 SQL 转换为实体,但不是现在。
例子:
型号:
string query = "SELECT * FROM dbo.manf";
SqlDataAdapter adapter = new SqlDataAdapter(query, conn);
DataSet data = new DataSet();
adapter.Fill(data, "manf");
查看:
@foreach (DataRow data in manf.Tables["manf"].Rows)
{
@:manf["id"] + " " + manf["name"]);
}
【问题讨论】:
-
你有域对象吗?我倾向于将 DataTable 转换为控制器中的域对象,然后将它们传递给视图。
-
这不是最好的方法,但是由于您正在迁移旧应用程序...您可以将数据集传递给视图,就好像它是模型实体一样。因此,您的模型将是一个数据集。
-
对对象使用 Get 和 Sets?嗯。我有一些有 200 列的查询。我认为手写会很耗时。还有什么吗?
标签: c# sql-server asp.net-mvc database ado.net