Как определить, добавлен ли объект в DbContext?

Возможный дубликат:
событие DBContext добавлено/прикреплено?

Я использую пользовательскую стратегию ID-Generating в EF 5. Я переопределяю метод SaveChanges для обнаружения добавленных объектов и устанавливаю для них IDs. Но ID новых объектов недоступен до вызова SaveChanges. Я ищу SO и нахожу некоторые ответы. Здесь и здесь. Во второй ссылке ответ @KVerwold показывает способ обнаружения изменений, который, кажется, работает. Но он имеет только один голос и не принят. Могу ли я использовать способ, предложенный @KVerwold? Как вы думаете, это может привести к какой-либо ошибке - логической или любой другой? ИЛИ у вас есть другие предложения, пожалуйста? Заранее спасибо.


person agent47    schedule 28.09.2012    source источник
comment
Я думаю, что есть только один голос, потому что не так много людей внедряют генерацию пользовательских идентификаторов. Не уверен, каковы ваши требования, но, по моему мнению, он редко проходит тест на запах.   -  person Maess    schedule 28.09.2012
comment
@jrummell Если вы ясно видите вопрос, вы увидите, что я сам указываю вашу ссылку. Но спасибо за внимание   -  person agent47    schedule 28.09.2012
comment
@Maess Спасибо. Если вы опубликуете свой тест в качестве ответа, я приму его   -  person agent47    schedule 28.09.2012
comment
Вот как я это нашел :) Ваш вопрос действительно должен быть комментарием к этому связанному вопросу.   -  person jrummell    schedule 28.09.2012
comment
Как вы думаете, почему голоса показывают, какое решение является правильным для вас? Вам помог ответ? Если да, используйте его. Кстати. если у него есть один голос и он помог вам, вы также должны добавить свой собственный голос. Ответ правильный. Я не знал об этом варианте, когда писал свой собственный ответ.   -  person Ladislav Mrnka    schedule 28.09.2012


Ответы (1)


Я предлагаю, чтобы вы не реализовывали их, если нет серьезных бизнес-требований для пользовательских идентификаторов. Я думаю, что есть только один голос за сообщение, которое вы упомянули, потому что не так много людей внедряют генерацию пользовательских идентификаторов, поскольку, на мой взгляд, они не проходят проверку на запах.

person Maess    schedule 28.09.2012