В структуре сущностей 6.0, если вы удалите сущность из основного набора контекста, она будет работать. Например, чтобы удалить инвестиционную сущность, вы должны сделать следующее:
context.Investments.Remove(entity);
context.SaveChanges();
Это отличается от попытки удалить сущность от ее родителя / владельца следующим образом:
bankAccount.Investments.Remove(entity);
context.SaveChanges();
Это приведет к тому, что отношения не могут быть изменены, исключение перечислено выше. Надеюсь, это поможет.
Люди используют docx4j для подобных вещей. (Отказ от ответственности: это мой проект)
docx4j дает вам инструменты для создания документов docx (в отличие от старых двоичных документов) и вывода в PDF (хотя ymmv).
Для создания коммерческих документов посмотрите подобные из Exari и Thunderhead.