在C#中,使用SqlDataAdapter時,您不能直接自定義數據類型。SqlDataAdapter主要用于執行SQL查詢并將結果集映射到.NET Framework中的數據類型。但是,您可以在將數據集填充到DataTable時,將SqlDataReader中的數據類型轉換為自定義數據類型。
以下是一個示例,說明如何將SqlDataReader中的數據類型轉換為自定義數據類型:
public class CustomDataType
{
public int Id { get; set; }
public string Name { get; set; }
}
public static List<CustomDataType> ConvertDataReaderToList(SqlDataReader reader)
{
List<CustomDataType> customDataList = new List<CustomDataType>();
while (reader.Read())
{
CustomDataType customData = new CustomDataType
{
Id = reader.GetInt32(reader.GetOrdinal("Id")),
Name = reader.GetString(reader.GetOrdinal("Name"))
};
customDataList.Add(customData);
}
return customDataList;
}
string connectionString = "your_connection_string";
string query = "SELECT * FROM your_table";
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand command = new SqlCommand(query, connection))
{
connection.Open();
using (SqlDataAdapter adapter = new SqlDataAdapter(command))
{
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);
List<CustomDataType> customDataList = ConvertDataReaderToList(dataTable.CreateDataReader());
}
}
}
這樣,您就可以將SqlDataReader中的數據類型轉換為自定義數據類型了。