数据集DataSet的两个简单问题,谢谢!
.NET中的DataSet,我通常使用它保存从数据库中或者XML中获取的数据,并在需要的时候更新数据源。然而,.NET中提供了一些类如DataTable、DataRow等...
.NET中的DataSet,我通常使用它保存从数据库中或者XML中获取的数据,并在需要的时候更新数据源。
然而,.NET中提供了一些类如DataTable、DataRow等,使用这些类完全可以在脱离数据源的前提下编写C#代码构建一个DataSet,甚至包括表之间的关系,列的约束等。于是就有了我的疑惑:
1、这样在脱离数据源的前提下构建的数据集、数据表有什么实际意义和用途?
另外的一个问题是:
2、假定数据库中有几个数据表,表之间有一些关系(主键、外键),是否能够一次性将所有表包括表之间的关系映射到一个DataSet中?或者是只能将表映射到数据集中,表之间的关系需要使用Relations来指定? 展开
然而,.NET中提供了一些类如DataTable、DataRow等,使用这些类完全可以在脱离数据源的前提下编写C#代码构建一个DataSet,甚至包括表之间的关系,列的约束等。于是就有了我的疑惑:
1、这样在脱离数据源的前提下构建的数据集、数据表有什么实际意义和用途?
另外的一个问题是:
2、假定数据库中有几个数据表,表之间有一些关系(主键、外键),是否能够一次性将所有表包括表之间的关系映射到一个DataSet中?或者是只能将表映射到数据集中,表之间的关系需要使用Relations来指定? 展开
1个回答
展开全部
1、DataSet可以理解成在内存中的数据库,DataTable是数据表,DataRow是一行数据。它们和数据源是彼此独立的存在。你可以使用数据源来为DataTable填充数据。也可以将DataTable中的内容更新到数据源中。对于有些需要临时保存有需要执行适当查询的数据可以保存在DataSet中,实现起来比较容易。还有就是对于需要保存到数据库中的数据,为了避免长时间占用数据库连接,可以将数据取出后断开连接,处理完成后再执行更新操作。有时可以提供程序的性能。
2、表本身的主键可以在取得数据时同时取得,表间的关系是不能自动取到的。需要自己来映射。原因是DataSet只是在内存中的一个小型数据库,如果增加了过多的Relation会使性能降低,所以你要根据需要来添加Relation。
2、表本身的主键可以在取得数据时同时取得,表间的关系是不能自动取到的。需要自己来映射。原因是DataSet只是在内存中的一个小型数据库,如果增加了过多的Relation会使性能降低,所以你要根据需要来添加Relation。
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询