У меня есть два класса моделей - оба имеют поле byte[]
для хранения файла PDF.
В базе данных два класса модели соответствуют двум таблицам - обе с колонкой varbinary(max)
.
Для одного класса модели я легко могу сохранить SQL Server, однако для другого класса + таблицы я получаю ошибку
Неявное преобразование из типа данных nvarchar (max) в varbinary имеет видне допускается
Два класса и таблицы в основном похожи - за исключением имен.
Я посмотрел много ответов на эту ошибку, но не могу найти ни одного, которыйиспользуйте EF6.Я создал таблицы базы данных вручную, а также классы - так что автоматическое создание не требовалось.
Надеюсь, кто-нибудь может помочь мне преодолеть эту ошибку.
Заранее спасибо
Попытка изменить тип столбца с varbinary(max)
на nvarchar(max)
.
Попытка удаления таблицы и создания с нуля
//Pdf
[Table("SelfBillings")]
public class SelfBilling
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long Id { get; set; }
public string OwnerId { set; get; }
public long BookingId { set; get; }
public long SelfBillingNumber { set; get; }
public DateTime Date { get; set; }
public DateTime PeriodStart { set; get; }
public DateTime PeriodEnd { set; get; }
public decimal PeriodDays { get; set; }
public decimal PeriodHours { get; set; }
public decimal RentalAmount { get; set; }
public decimal RentalAmountTotal { get; set; }
public decimal VatAmount { get; set; }
public decimal TotalAmount { get; set; }
public decimal TotalAmountInclVat { get; set; }
//Pdf
public byte[] Attachment { set; get; }
}
//Database table
CREATE TABLE [dbo].[SelfBillings]
(
[Id] [BIGINT] IDENTITY(1,1) NOT NULL,
[OwnerId] [VARBINARY](128) NOT NULL,
[BookingId] [BIGINT] NOT NULL,
[SelfBillingNumber] [BIGINT] NOT NULL,
[Date] [DATETIME2](7) NOT NULL,
[PeriodStart] [DATETIME2](7) NOT NULL,
[PeriodEnd] [DATETIME2](7) NOT NULL,
[PeriodDays] [DECIMAL](10, 2) NOT NULL,
[PeriodHours] [DECIMAL](10, 2) NOT NULL,
[RentalAmount] [DECIMAL](10, 2) NOT NULL,
[RentalAmountTotal] [DECIMAL](10, 2) NOT NULL,
[VatAmount] [DECIMAL](10, 2) NOT NULL,
[TotalAmount] [DECIMAL](10, 2) NOT NULL,
[TotalAmountInclVat] [DECIMAL](10, 2) NOT NULL,
[Attachment] [VARBINARY](MAX) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
//Mapping
modelBuilder.Entity<SelfBilling>().ToTable("SelfBillings");
Я ожидаю, что запись будет создана в таблице SelfBillings
.