смотрю запрос в профайлере
exec sp_executesql N'SET NOCOUNT ON;
INSERT INTO [mm].[FileFormat] ([CalculationBasis], [CellStructure], [Code], [ColumnNamesLineNo], [DataTypesLineNo], [Delimiter], [Description], [EncodingId], [IsActive], [NegativeValues], [NoFixedColumns], [NoHeaderLines], [NullValues], [TextQualifier], [UpdatedBy], [UpdatedDateTime])
VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10, @p11, @p12, @p13, @p14, @p15);
SELECT [FileFormatId]
FROM [mm].[FileFormat]
WHERE @@ROWCOUNT = 1 AND [FileFormatId] = scope_identity();
',N'@p0 nvarchar(10),@p1 nvarchar(10),@p2 nvarchar(3),@p3 int,@p4 int,@p5 nvarchar(10),@p6 nvarchar(40),@p7 int,@p8 bit,@p9 nvarchar(5),@p10 int,@p11 int,@p12 nvarchar(255),@p13 nvarchar(10),@p14 int,@p15 datetimeoffset(7)',@p0=N'Tonnage',@p1=N'Centroid',@p2=N'231',@p3=0,@p4=0,@p5=N'Comma',@p6=N'string',@p7=3,@p8=1,@p9=N'Null',@p10=0,@p11=0,@p12=N'string',@p13=N'Double',@p14=1,@p15='2020-08-21 19:16:14.9164458 +03:00'
fileFormat.ToDatabaseFileFormat()
//...
FormatAttributes = src.FormatAttributes.Select(x => FormatAttributeMapper.ToDatabaseFormatAttribute(x, src.UpdatedBy)).ToArray()
//..
await DbSet.AddAsync(entity);
await Context.SaveChangesAsync();
return entity;
короче в отладчике есть related коллекция FormatAttributes, вот она передаётся, но не сохраняется
смотрю
https://docs.microsoft.com/en-us/ef/core/saving/related-data
должно сохранять, не понимаю в чём причина
полностью код сложно показать...
но суть в том что в отладчике видно что передаётся
Здравствуйте, dsalodki, Вы писали:
D>D>fileFormat.ToDatabaseFileFormat()
D>//...
D> FormatAttributes = src.FormatAttributes.Select(x => FormatAttributeMapper.ToDatabaseFormatAttribute(x, src.UpdatedBy)).ToArray()
D>//..
D> await DbSet.AddAsync(entity);
D> await Context.SaveChangesAsync();
D> return entity;
D>
Без полного кода сложно что-то сказать, но вот вы выбрали FormatAttributes в массив. А дольше что с этим массивом?
Здравствуйте, BlackEric, Вы писали:
BE>Здравствуйте, dsalodki, Вы писали:
D>>D>>fileFormat.ToDatabaseFileFormat()
D>>//...
D>> FormatAttributes = src.FormatAttributes.Select(x => FormatAttributeMapper.ToDatabaseFormatAttribute(x, src.UpdatedBy)).ToArray()
D>>//..
D>> await DbSet.AddAsync(entity);
D>> await Context.SaveChangesAsync();
D>> return entity;
D>>
BE>Без полного кода сложно что-то сказать, но вот вы выбрали FormatAttributes в массив. А дольше что с этим массивом?
в этом говнокоде есть пример, там сохраняется напрямую отдельно
public Task<bool> DoesNameExists(string name, int ignoreId) => DbSet.Where(x => x.ModelId != ignoreId).WithName(name).AnyAsync();
вот такой убивает, проект говно какое-то