powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Scaffold mapping. EF Core
6 сообщений из 6, страница 1 из 1
Scaffold mapping. EF Core
    #40091630
nepsy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые форумчане,
есть следующая нерешенная проблема . Есть ли идея как не ломая существующего кода решить проблему с нулевыми значениями?

С Уважением
...
Рейтинг: 0 / 0
Scaffold mapping. EF Core
    #40092604
nepsy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Распишу ситуацию.

Есть таблица

CREATE TABLE [dbo].[Orders] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[UserId] INT NOT NULL,
[IsProcessed] BIT DEFAULT (CONVERT([bit],(0))) NOT NULL,
CONSTRAINT [PK_Orders] PRIMARY KEY CLUSTERED ([Id] ASC)
);

Создаю классы вызывая (DBFirst):

авторPM> Scaffold-DbContext "Server=(localdb)\mssqllocaldb; Database=TestDb; Trusted_Connection=true;" Microsoft.EntityFrameworkCore.SqlServer
Build started...
Build succeeded.

To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see http://go.microsoft.com/fwlink/?LinkId=723263.
The column 'dbo.Orders.IsProcessed' would normally be mapped to a non-nullable bool property, but it has a default constraint. Such a column is mapped to a nullable bool property to allow a difference between setting the property to false and invoking the default constraint. See https://go.microsoft.com/fwlink/?linkid=851278 for details.


Создается класс:

public partial class Order
{
public int Id { get; set; }
public int UserId { get; set; }
public bool? IsProcessed { get; set; }
}

Такая особенность и как с этим бороться не понятно. Править каждый раз в ручную, при наличае более 15 классов не хочется. Есть ли какие-нибудь соображения по этому поводу?
...
Рейтинг: 0 / 0
Scaffold mapping. EF Core
    #40092625
fkfka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nepsy
Такая особенность

В чем особенность?

У тебя в БД, наверняка, поле объявлено как nullable - вот оно у тебя в nullable свойство и превращается.

Впрочем стоп, нет. Не так. Он же тебе явно говорит в чем дело.
...
Рейтинг: 0 / 0
Scaffold mapping. EF Core
    #40092628
nepsy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fkfka
nepsy
Такая особенность


У тебя в БД, наверняка, поле объявлено как nullable - вот оно у тебя в nullable свойство и превращается.



В том-то и дело, что оно not nullable

[IsProcessed] BIT DEFAULT (CONVERT([bit],(0))) NOT NULL,
...
Рейтинг: 0 / 0
Scaffold mapping. EF Core
    #40092636
fkfka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nepsy
fkfka
пропущено...


У тебя в БД, наверняка, поле объявлено как nullable - вот оно у тебя в nullable свойство и превращается.



В том-то и дело, что оно not nullable

[IsProcessed] BIT DEFAULT (CONVERT([bit],(0))) NOT NULL,

Ну там же написано. Если сделать его просто как "bool" то тогда у EF не будет возможности при добавлении записи сказать серверу "используй тут default значение". Отключай DEFAULT CONSTRAINT на время генерации кода - можно даже все это в скрипт объединить, чтобы руками не делать каждый раз.
...
Рейтинг: 0 / 0
Scaffold mapping. EF Core
    #40092654
nepsy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем. Воспользовался Extention "EF Core Power Tool". Все работает. Можно закрывать ветку
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Scaffold mapping. EF Core
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (8): Анонимы (5), Google Bot, Bing Bot 1 мин., Yandex Bot 3 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]