Наборы данных в Visual Studio Обзор -
Типизированные и нетипизированные наборы данных
Типизированный набор данных - это набор данных, который сначала создается из базового класса DataSet, а затем использует информацию из конструктора наборов данных, которая хранится в файле .xsd, для создания нового класса набора данных со строгим типом данных. Информация из схемы (таблицы, столбцы и т. Д.) Генерируется и компилируется в этот новый класс набора данных в виде набора первоклассных объектов и свойств. Поскольку типизированный набор данных наследуется от базового класса DataSet, типизированный класс принимает на себя все функциональные возможности класса DataSet и может использоваться с методами, которые принимают экземпляр класса DataSet в качестве параметра.
Нетипизированный набор данных, напротив, не имеет соответствующей встроенной схемы. Как и в типизированном наборе данных, нетипизированный набор данных содержит таблицы, столбцы и т. Д., Но они представляются только как коллекции. (Однако после создания таблиц и других элементов данных вручную в нетипизированном наборе данных вы можете экспортировать структуру набора данных в виде схемы, используя метод WriteXmlSchema набора данных.)
Да, вы можете автоматически создавать их в Visual Studio:
Или вы можете создать свои собственные строго типизированные наборы данных (это чище IMO) . Пример:
using System.Data;
public class CatsDataTable : DataTable
{
public CatsDataTable() : base()
{
base.TableName = "cats";
Columns.Add(new DataColumn(SqlTokens.id_cats, typeof(int)));
Columns.Add(new DataColumn(SqlTokens.owners_id_owners, typeof(int)));
Columns.Add(new DataColumn(SqlTokens.cats_name, typeof(string)));
Columns.Add(new DataColumn(SqlTokens.cats_number_of_spots, typeof(int)));
}
}
public class OwnersDataTable : DataTable
{
public OwnersDataTable() : base()
{
base.TableName = "owners";
Columns.Add(new DataColumn(SqlTokens.id_owners, typeof(int)));
Columns.Add(new DataColumn(SqlTokens.owners_name, typeof(string)));
}
}
public class PetsDataSet : DataSet
{
public PetsDataSet() : base()
{
base.TableName = "pets";
Tables.Add("cats");
Tables.Add("owners");
}
}
Касательная о сборке мусора
Сборка мусора (GC) - это форма автоматического управления памятью. Это особый случай управления ресурсами, в котором управляемым ограниченным ресурсом является память. Сборщик мусора, или просто сборщик, пытается вернуть мусор или память, занятую объектами, которые больше не используются программой. (Википедия)