У меня есть две таблицы в файле LINQ to SQL dbml. Я пытаюсь получить все изменения, представленные в контексте, которые я могу получить, используя
var myOtherContext;
var changes = context.GetChangeSet();
foreach (var change in changes)
{
Type t = change.GetType();
if (change is Product )
{
myOtherContext.GetTable<Product>().InsertOnSubmit((Product) change);
}
if (change is Supplier)
{
myOtherContext.GetTable<Supplier>().InsertOnSubmit((Supplier)change);
}
}
В основном, я копирую все изменения, произошедшие в одном контексте, в другой контекст (myOtherContext). Я не хочу использовать оператор if для проверки типа изменения. Есть ли способ написать:
myOtherContext.GetTable<typeof(change)>().InsertOnSubmit((typeof(change) change);
Ваша помощь будет оценена.
С уважением, Parminder
Как использовать нестандартную версию:
foreach (var change in changes.Inserts) // note inserts
{
myOtherContext.GetTable(change.GetType()).InsertOnSubmit(change);
}