Puede importar cómo se agrega un objeto al DataContext en cuanto a si se incluirá o no en futuras consultas.
no añadirá el nuevo InventoryTransaction a futuro en la memoria consultas
En este ejemplo estoy añadiendo un objeto con un ID y luego agregarlo al contexto.
var transaction = new InventoryTransaction()
{
AdjustmentDate = currentTime,
QtyAdjustment = 5,
InventoryProductId = inventoryProductId
};
dbContext.InventoryTransactions.Add(transaction);
dbContext.SubmitChanges();
LINQ to SQL no es lo suficientemente inteligente como para ver esto como que necesita ser añadido a la lista previamente almacenada en caché en elementos de la memoria en InventoryTransactions
.
se sumará la nueva InventoryTransaction a futuro en la memoria consulta
var transaction = new InventoryTransaction()
{
AdjustmentDate = currentTime,
QtyAdjustment = 5
};
inventoryProduct.InventoryTransactions.Add(transaction);
dbContext.SubmitChanges();
Siempre que sea posible el uso de las colecciones de LINQ to SQL al crear relaciones y no los identificadores.
Además, como dice Jon, trate de minimizar el alcance de un DataContext tanto como sea posible.
Es en una refactorización importante para mí usar otro DataContext, porque está envuelto en una biblioteca de marcos. –
Bueno, eso es básicamente lo que necesitas hacer. Cuando me enfrento a una mala decisión de diseño anterior, generalmente me parece * mucho * mejor arremangarse y arreglarlo que trabajar en él, lo que hace que sea más difícil de arreglar más tarde. –
Bueno ... esa no es una opción. –