Entity Framework; Объектно-ориентированное удаление - PullRequest
2 голосов
/ 08 октября 2010

В данный момент я создаю систему управления запасами, используя Entity Framework 4.

Немного предыстории, мои сущности выглядят примерно так (только показывает необходимую информацию)

Product -> ProductLocations

WarehouseLocation -> имеет много ProductLocations

Каждый ProductLocation имеет количество

Я пытаюсь сделать так, чтобы приВы вызываете что-то вроде Product.TakeFromLocation (например, WarehouseLocation, qty как Integer), оно удаляет ProductLocation, если его количество падает до нуля.

Однако ... Product - это объект, как и ProductLocation, и онизначит быть невежественным.Я использую шаблоны POCO EF с парой модификаций, так что он создает интерфейс IEntities и генерирует FakeEntities, используя версии в памяти для тестирования.Это означает, что мои сущности ничего не знают о Entity Framework, не наследуют и не реализуют какие-либо интерфейсы, поэтому C ontext.DeleteObject() выходит за пределы.

Кто-нибудь сталкивался с подобным сценарием и получил какие-либо идеи окак обойти это?

Я вроде думал, что если SaveChanges () в контексте является частичным методом, я мог бы расширить его, чтобы проверить на 0-величины - но тогда он собирается сделать это для всех сохранений, что немного затягивает 90% + операций, которые этого не делают.

1 Ответ

1 голос
/ 08 октября 2010

Я бы сделал это в событии SavingChanges, а не SaveChanges().

Что касается производительности "накладных расходов", я подозреваю, что это где-то между тривиальным и неизмеримым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...