kreta/Sda.DataProvider/Wrappers/MSSQL/MSSQLCommandBuilderWrapper.cs
2024-03-13 00:33:46 +01:00

69 lines
2 KiB
C#

using System.Data.SqlClient;
using System.Diagnostics.CodeAnalysis;
using SDA.DataProvider.Core;
namespace SDA.DataProvider.MSSQLWrappers
{
class MSSQLCommandBuilderWrapper : SDACommandBuilderWrapper
{
internal SqlCommandBuilder CommandBuilder;
internal MSSQLDataAdapterWrapper InnerDataAdapter;
internal MSSQLCommandBuilderWrapper()
{
CommandBuilder = new SqlCommandBuilder();
}
[SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
internal MSSQLCommandBuilderWrapper(SDADataAdapterWrapper dataAdapter)
: this()
{
// ReSharper disable once DoNotCallOverridableMethodsInConstructor
DataAdapter = dataAdapter;
}
protected override SDADataAdapterWrapper DataAdapter
{
get
{
return InnerDataAdapter;
}
set
{
InnerDataAdapter = (MSSQLDataAdapterWrapper)value;
CommandBuilder.DataAdapter = InnerDataAdapter.DataAdapter;
}
}
public override void DeriveParameters(SDACommandWrapper command)
{
SqlCommandBuilder.DeriveParameters(((MSSQLCommandWrapper)command).Command);
}
public override SDACommandWrapper GetDeleteCommand()
{
return new MSSQLCommandWrapper(CommandBuilder.GetDeleteCommand());
}
public override SDACommandWrapper GetInsertCommand()
{
return new MSSQLCommandWrapper(CommandBuilder.GetInsertCommand());
}
public override SDACommandWrapper GetUpdateCommand()
{
return new MSSQLCommandWrapper(CommandBuilder.GetUpdateCommand());
}
public override void RefreshSchema()
{
CommandBuilder.RefreshSchema();
}
public override void Dispose()
{
CommandBuilder.Dispose();
}
}
}