У вас неправильные отношения.
Пользователь не «имеет» корзину покупок (или, по крайней мере, не обязан, например, при новой регистрации), корзина «принадлежит» пользователю.Вы также можете смоделировать это таким образом, чтобы пользователь (возможно, не сейчас, но позже) был владельцем нескольких корзин для покупок.
Итак:
public class ApplicationUser : IdentityUser
{
// Later: public List<ShoppingCart> ShoppingCarts { get; set; }
public ShoppingCart ShoppingCart { get; set; }
}
public class ShoppingCart
{
public int Id { get; set; }
public string UserId { get; set; }
public ApplicationUser User { get; set; }
}