Я сопоставил свойство int
с smallint
в SQL Server. Когда я запрашиваю базу данных, я получаю следующее исключение:
InvalidOperationException: исключение произошло во время
чтение значения базы данных для свойства «Tag.Count». Ожидаемый тип
был 'System.Int32', но фактическое значение было типа 'System.Int16'
Я хочу сделать это таким образом, потому что, если я использую short
на сущности, мне придётся писать дополнительный код для приведения short
к int
.
Снимок соответствующего кода:
public class Tag
{
public int Count { get; set; }
//Other properties
}
//In DbContext
protected override void OnModelCreating(ModelBuilder builder)
{
builder.Entity<Tag>().Property(m => m.Count).HasColumnType("smallint");
}
//query
var tags = await context.Tags.ToArrayAsync();