Код: Выделить всё
public class Point
{
public required int X { get; set; }
public required int Y { get; set; }
}
Код: Выделить всё
Point fake = new Point();
< /code>
Мы получаем ошибку компилятора: < /p>
Требуемый член 'point.x' должен быть установлен в объектном инициализаторе или
атрибут.
Treate Member 'point.y' должен быть установлен в
initializer или constructor. /> и следующий код в порядке: < /p>
Point point = new() { X = 1, Y = 2 };
< /code>
Обычно эта функция необходима для анализа JSON (описано здесь) < /p>
ОК. Но давайте посмотрим на EF Core. Если мы создаем модель сущности, например: < /p>
public class DownloadCenterFolder
{
public int Id { get; set; }
public string FolderName { get; set; }
}
< /code>
Мы получаем предупреждение: < /p>
Не облегаемое свойство 'foldername' должно содержать не нулевое значение, когда
выходит из конструктора. Рассмотрим объявление имущества как нулевое.
Но если мы помечаем его по мере необходимости Код: Выделить всё
public class DownloadCenterFolder
{
public int Id { get; set; }
public required string FolderName { get; set; }
}
Итак, является ли это хорошим способом использовать требуемое ключевое слово для обязательных полей (которое помечено как Builder.property (p => p.projectName) .Isrequired (); ) Когда мы используем ядро EF или не? Это выглядит как красиво (вообще, чтобы избежать этого поля пустой строкой в CTOR), и я не могу найти ничего в Google об использовании этого ключевого слова с EF Core. Или, вероятно, какой -нибудь другой способ отметить обязательные поля?
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/775 ... nd-ef-core
Мобильная версия