У меня проблема ... У меня есть класс, который содержит список клиентов и список заказов, и каждый заказ содержит клиента как ссылку. Если я сериализую объект таким образом, я получу:
{
"Customers": [
{
"$id": "1",
"FirstName": "A",
"LastName": "B"
}
],
"Orders": [
{
"Owner": {
"$ref": "1"
},
"Desc": "Soup"
}
]
}
Это нормально ... но если я удалю клиента, я получу:
{
"Customers": [],
"Orders": [
{
"Owner": {
"$id": "1",
"FirstName": "A",
"LastName": "B"
},
"Desc": "Soup"
}
]
}
Но что я sh должен иметь это:
{
"Customers": [],
"Orders": [
{
"Owner": null,
"Desc": "Soup"
}
]
}
Код, который я использовал:
[JsonObject(IsReference = true)]
public class Customer
{
public String FirstName;
public String LastName;
}
public class Order
{
public Order(Customer T, String What)
{
Owner = T;
Desc = What;
}
public Customer Owner;
public String Desc;
}
public class Settings
{
public List<Customer> Customers = new List<Customer>();
public List<Order> Orders = new List<Order>();
}
public MainWindow()
{
InitializeComponent();
Settings Data = new Settings();
Customer Customer = new Customer() { FirstName = "A", LastName = "B" };
Data.Customers.Add(Customer);
Order PlaceOrder = new Order(Data.Customers.First(), "Soup");
Data.Orders.Add(PlaceOrder);
Console.WriteLine(JsonConvert.SerializeObject(Data, Formatting.Indented));
Data.Customers.Remove(Customer);
Console.WriteLine(JsonConvert.SerializeObject(Data, Formatting.Indented));
Close();
}
Может кто-нибудь помочь мне понять, как это сделать?