Cześć, mam pytanko: załóżmy, że mamy taki model:
Chciałbym mieć Data
, która ma domyślne 4 Item
y, które później można nadpisać
public class Data
{
[Key]
public int Id { get; protected set; }
public List<Item> Items { get; set; } = new List<Item>(4) { new Item(), new Item(), new Item(), new Item() };
public DateTime CreationDate { get; protected set; }
public Data()
{
CreationDate = DateTime.Now;
}
}
public class Item
{
[Key]
public int Id { get; protected set; }
public string Text { get; set; } = "default";
}
ewentualnie gdy te dodawanie nowych Itemów dam do ctora
I zrobię
// już istniejący w bazie obiekt mający 4 wypełnione Itemy prawdziwymi danymi
var pre = _db.Data.Find(_id).Items.Count(); // 4, prawdziwe dane
var el = _db.Data
.Include(q => q.Items)
.Where(x => x.Id == _id)
.FirstOrDefault();
var post = _db.Data.Find(_id).Items.Count(); // 8, prawdziwe dane + puste
To nagle moja lista ma 8 elementów, a nie 4 - dlaczego? btw. Przy kolejnych wywołaniach nie robi się 12, 16, 20, itd, a zostaje 8.
I w sumie, jeżeli lista się zmienia, to dlaczego CreationDate nie?