EF Core 7

Støtte for JSON i SQL

Docs

Dersom man har en kolonne i SQL som inneholder JSON data, støttes nå dette av EF Core 7.
Det fungerer bra for enkle modeller, men nøstede objekter vil fort bli uoversiktlig, da man eksplisitt må definere relasjonene.

Eksempelvis ser OnModelCreating slik ut dersom man har objektet Author -> ContactDetails -> Address.

protected override void OnModelCreating(ModelBuilder modelBuilder) {

	modelBuilder.Entity<Author>()
	.OwnsOne( author => author.Contact,
		ownedNavigationBuilder => {
			ownedNavigationBuilder
			.OwnsOne(contactDetails => contactDetails.Address); 
		}
	); 
}
public class ContactDetails
{
    public Address Address { get; set; } = null!;
    public string? Phone { get; set; }
}

public class Address
{
    public Address(string street, string city, string postcode, string country)
    {
        Street = street;
        City = city;
        Postcode = postcode;
        Country = country;
    }

    public string Street { get; set; }
    public string City { get; set; }
    public string Postcode { get; set; }
    public string Country { get; set; }
}
public class Author
{
    public int Id { get; set; }
    public string Name { get; set; }
    public ContactDetails Contact { get; set; }
}