Столбец JSON Entity Framework Core 7/8 — используйте словарьC#

Место общения программистов C#
Ответить
Anonymous
 Столбец JSON Entity Framework Core 7/8 — используйте словарь

Сообщение Anonymous »

Я видел этот пост, перепробовал все, что в нем написано, но все равно ничего не заработало.
Столбец JSON Entity Framework Core 7 – используйте словарь< /p>

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

{
    "EntityFrameworkEvent": {
        "Entries":[
            {
                "Name": "abc",
                "PrimaryKey": { "Name": "Jim"},
                "Action": "Insert"
            }
        ]
    },
"Duration": 177
}
Это всего лишь часть гораздо большего json, но у меня нет проблем нигде, кроме этой области, и только с «PrimaryKey»

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

{
    "EntityFrameworkEvent": {
        "Entries":[
            {
                "Name": "abc",
                "PrimaryKey": { "Name": "Jim"},
                "Action": "Insert"
            }
        ]
    }
}

public class Log
{
    public long Id {get; set;}
    public Data {get; set;}
}

public class Data
{
    public EntityFrameworkEvent EntityFrameworkEvent {get; set;}
    public int Duration {get; set;}
}

public class EntityFrameworkEvent
{
    public List Entries {get; set;}
}

public class Entry
{
    public string? Name {get; set;}
    public string? Action {get; set;}
    public Dictionary PrimaryKey {get; set;}
}

modelBuilder.Enity(b =>
{
    b.OwnsOne(x => x.Data, cb=>
    {
        cb.ToJson()
        cb.OwnsOne(x => x.EntityFrameworkEvent, ef =>
        {
            ef.ToJson();
            ef.OwnsMany(x => x.Entries);
        })
    })
})
Я пытаюсь использовать привязку EF для Json, и если я удалю PrimaryKey, все это будет работать, но в остальном — нет. Словарь не поддерживается? Я пробовал другие варианты, но все равно не помогло.
Я надеялся сделать то же самое с новыми функциями EF, чтобы позже можно было выполнить поиск по полю "primaryKey", чтобы найти записи в моей базе данных.

Подробнее здесь: https://stackoverflow.com/questions/790 ... int-object
Ответить

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

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

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

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

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