尝试创建一个有几个地址的客户端时遇到问题。
public class Client
{
public int Id { get; set; }
public string Name{ get; set; }
public string Lastname{ get; set; }
public int DNI { get; set; }
public List<Phones> Phones{ get; set; }
}
public class Phone
{
[Key]
public int IdPhone { get; set; }
public int Number{ get; set; }
}
public Client Create(Client client)
{
if (_context.Client.Any(x => x.DNI == cliente.DNI))
throw new AppException("Username " + cliente.DNI + " is already taken");
_context.Cliente.Add(client);
_context.Phones.AddRange(client.Phones);
_context.SaveChanges();
return client;
}
例外是:
Microsoft.EntityFrameworkCore.DbUpdateException:&#39;更新条目时发生错误。有关详细信息,请参阅内部异常。&#39;
SqlException:&#39; MERGE&#39;
附近的语法不正确
{
"name": "Franco",
"lastname": "Pachue",
"dni": 55555555,
"phones": [
{
"number": "4444444"
}
]
}
答案 0 :(得分:0)
不要使用AddRange。 只需将ClientId添加到Phone实体(假设一部手机只属于一个客户端)。添加客户端后,手机将被保存。
>>> np.allclose(new_price(A, B, [ 84, 149, 500]), np.array([1.0, 3.0, 5.0]),
atol=1e-14, rtol=1e-14)
False