Es kann von Bedeutung sein, WIE Sie dem DataContext ein Objekt hinzufügen, ob es in zukünftigen Abfragen enthalten sein wird oder nicht.
wird die neue InventoryTransaction auf Zukunft im Speicher hinzufügen fragt
In diesem Beispiel habe ich mit einer ID ein Objekt bin das Hinzufügen und das Hinzufügen von es dann auf den Kontext.
var transaction = new InventoryTransaction()
{
AdjustmentDate = currentTime,
QtyAdjustment = 5,
InventoryProductId = inventoryProductId
};
dbContext.InventoryTransactions.Add(transaction);
dbContext.SubmitChanges();
Linq-to-SQL ist nicht klug genug dies als um zu sehen, in InventoryTransactions
auf die zuvor zwischengespeicherte Liste der im Speicher Elementen hinzugefügt werden.
wird die neue InventoryTransaction auf Zukunft im Speicher hinzufügen abfragt
var transaction = new InventoryTransaction()
{
AdjustmentDate = currentTime,
QtyAdjustment = 5
};
inventoryProduct.InventoryTransactions.Add(transaction);
dbContext.SubmitChanges();
Verwenden Sie nach Möglichkeit die Sammlungen in Linq-to-SQL, wenn Beziehungen und nicht die IDs zu schaffen.
Zusätzlich, wie Jon sagt, versuchen Sie, den Umfang eines DataContext so weit wie möglich zu minimieren.
Es ist im Wesentlichen Refactoring für mich, einen anderen DataContext zu verwenden, weil es in einer Framework-Bibliothek verpackt ist. –
Nun, das ist im Grunde, was Sie tun müssen. Wenn ich mit einer schlechten Designentscheidung früher konfrontiert werde, finde ich es normalerweise viel besser, die Ärmel hochzukrempeln und zu reparieren, als um sie herum zu arbeiten, was es später schwieriger macht, sie zu reparieren. –
Nun ... das ist keine Option. –