|
Scaffold mapping. EF Core
|
|||
---|---|---|---|
#18+
Уважаемые форумчане, есть следующая нерешенная проблема . Есть ли идея как не ломая существующего кода решить проблему с нулевыми значениями? С Уважением ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 23:05 |
|
Scaffold mapping. EF Core
|
|||
---|---|---|---|
#18+
Распишу ситуацию. Есть таблица 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 классов не хочется. Есть ли какие-нибудь соображения по этому поводу? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2021, 10:21 |
|
Scaffold mapping. EF Core
|
|||
---|---|---|---|
#18+
nepsy Такая особенность В чем особенность? У тебя в БД, наверняка, поле объявлено как nullable - вот оно у тебя в nullable свойство и превращается. Впрочем стоп, нет. Не так. Он же тебе явно говорит в чем дело. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2021, 11:19 |
|
Scaffold mapping. EF Core
|
|||
---|---|---|---|
#18+
fkfka nepsy Такая особенность У тебя в БД, наверняка, поле объявлено как nullable - вот оно у тебя в nullable свойство и превращается. В том-то и дело, что оно not nullable [IsProcessed] BIT DEFAULT (CONVERT([bit],(0))) NOT NULL, ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2021, 11:29 |
|
Scaffold mapping. EF Core
|
|||
---|---|---|---|
#18+
nepsy fkfka пропущено... У тебя в БД, наверняка, поле объявлено как nullable - вот оно у тебя в nullable свойство и превращается. В том-то и дело, что оно not nullable [IsProcessed] BIT DEFAULT (CONVERT([bit],(0))) NOT NULL, Ну там же написано. Если сделать его просто как "bool" то тогда у EF не будет возможности при добавлении записи сказать серверу "используй тут default значение". Отключай DEFAULT CONSTRAINT на время генерации кода - можно даже все это в скрипт объединить, чтобы руками не делать каждый раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2021, 11:49 |
|
|
start [/forum/topic.php?fid=17&tid=1349024]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
others: | 233ms |
total: | 347ms |
0 / 0 |