См. Linq не может записывать значения в БД, если submitchanges () не вызывается.
И для второго вопроса, Да, Linq кэширует объекты перед отправкой. Мы также можем получить записи, которые находятся в кеше, но не отправлены в базу данных.
Как вы вставили запись выше, мы можем получить выше записи из кэша datacontext, как показано ниже:
Сначала получите набор изменений из DataContext как:
System.Data.Linq.ChangeSet MySet = ctx.GetChangeSet();
После этого извлеките свою форму записи Набор изменений:
MyRecord b = (MyRecord )MySet.Inserts.Last();
Вы получите MyRecord с заголовком как «тест», который вы вставили.
Надеюсь, это поможет.