Моя проблема: при использовании этого расширения он отображает только значение ID из базы данных в объект класса.Карта SQL для класса в Dapper
Так что мне любопытно, как я могу отобразить другие значения?
C# Mapper
public class SoftwareReleaseTypeHandle : SqlMapper.TypeHandler<SoftwareRelease>
{
public override SoftwareRelease Parse(object value)
{
if (value == null || value is DBNull)
{
return null;
}
SoftwareRelease rel = new SoftwareRelease();
rel.ID = (Guid)value;
return rel;
}
public override void SetValue(IDbDataParameter parameter, SoftwareRelease value)
{
parameter.DbType = DbType.Guid;
parameter.Value = value.ID.ToString();
}
}
таблица SQL выглядит следующим образом:
CREATE TABLE [dbo].[SoftwareRelease](
[ID] [uniqueidentifier] NOT NULL,
[Type] [tinyint] NOT NULL,
[ReleaseType] [tinyint] NOT NULL,
[Version] [nchar](30) NOT NULL,
[ZipFile] [varbinary](max) NOT NULL,
[Date] [datetime] NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
Причина я использовал это картограф был и в других местах в моем коде я мог сделать, и это было бы автоматически разбиваются на страницы:
class MyInstallation
{
public string Bla;
public string BlaBla;
SoftwareRelease MyInstallation;
}
И когда я en используйте Dapper для получения из таблицы, которая выглядит.
CREATE TABLE [dbo].[MyInstallation](
[ID] [uniqueidentifier] NOT NULL,
[Bl] [nchar](30) NOT NULL,
[BlaBla] [nchar](30) NOT NULL,
[MyInstallation] [uniqueidentifier] NOT NULL,
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
Добавлено больше от использования. Но в основном я получаю объект класса SoftwareRelease из GUID Referense в других таблицах. Но когда я добавил это, я, по сути, сломал, что его не удалось получить класс SoftwareRelease – EKS
Обновлен мой ответ, чтобы включить альтернативный способ делать вещи ... –