Почему Entity Framework не может запросить эту таблицу из-за типа данных Boolean и Int? - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь запросить таблицу клиентов, которая имеет логическое свойство с именем "IsSubscribeedToNewsletter" . Я сделал некоторые изменения в SQL Server, и теперь у меня проблема между типом данных Int и Boolean . Данные отправляются из формы флажок , который должен быть логический тип (IsSubscribeedToNewsletter) . Понятия не имею, что я изменил, что вызвало проблему с типом данных?

Это ошибка запроса:

enter image description here

и это модель клиента:

public class Customer
{
    public int Id { get; set; }

    [Required]
    [StringLength(240)]
    public string Name { get; set; }

    public bool IsSubscribedToNewsletter { get; set; }

    public MembershipType MemberShipType { get; set; }

    [Display(Name = "Membership")]
    public int MemberShipTypeId { get; set; }

    [Display(Name = "Date of Birth")]
    public DateTime? BirthDate { get; set; }
}

и это таблица в SQL Server:

enter image description here

Ответы [ 2 ]

5 голосов
/ 30 апреля 2019

В таблице базы данных вы должны изменить тип данных int на бит для столбца IsSubscribeedToNewsletter.

1 голос
/ 30 апреля 2019

Если в базе данных SQL Server хранится логическое свойство, тип данных этого столбца должен быть bit.Хотя это выглядит как число, единственными возможными значениями могут быть 1 или 0.

Ошибка, которую выдает Entity Framework, состоит в том, что ваше свойство C # может иметь только 2 значения, но в базе данныхможет быть весь диапазон чисел int32.Он защищает от времени, когда в этом столбце хранится больше двух значений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...