Почему каркас EF Core инициализирует не нулевой NVARCHAR для "NULL!"?C#

Место общения программистов C#
Ответить
Anonymous
 Почему каркас EF Core инициализирует не нулевой NVARCHAR для "NULL!"?

Сообщение Anonymous »

В моей базе данных у меня есть таблица: < /p>

Код: Выделить всё

CREATE TABLE [dbo].[Invitation]
(
[Id] INT NOT NULL IDENTITY(1, 1),
[Name] NVARCHAR(100) NOT NULL,
[Subject] NVARCHAR(100) NOT NULL,
[Body] NVARCHAR(max) NOT NULL,

CONSTRAINT PK_Invitation PRIMARY KEY CLUSTERED ([Id] ASC),
)
Когда я запускаю Dotnet EF DBContext Scaffold Это создает следующий C# class:

Код: Выделить всё

public partial class StudyInvitation
{
public int Id { get; set; }

public string Name { get; set; } = null!;

public string Subject { get; set; } = null!;

public string Body { get; set; } = null!;
}
Почему он устанавливает строки в NULL! ? Похоже, String.empty был бы лучшим выбором для Not Null Nvarchar. В коде настройка строки на null и настройка строки на NULL! Поэтому я не понимаю, почему они решили это сделать. Я хотел бы знать, чтобы, когда я работаю со своими моделями, я знаю, если инициализация их в NULL! Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/794 ... ar-to-null
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»