Предполагая, что у меня есть строка в базе данных с определенным идентификатором, который я знаю (в моем примере ниже - символ с Id = 5), могу ли я создать объект EntityObject, который можно присоединить к другому объекту без необходимости его загрузки из базы данных (такой же сценарий применим и к «DeleteObject», если вы об этом думаете ...)?
Я пробовал следующее:
UserSpread spread = UserSpread.CreateUserSpread(5, 500000, 1.1m, 1.5m);
EntityKey symbolKey = new EntityKey("Entities.SymbolSet", "Id", 5);
Symbol symbol = new Symbol();
symbol.EntityKey = symbolKey;
// dealingEntities.Attach(symbol);
spread.Symbol = symbol;
Entities.AddToSpreadSet(spread);
Я получаю следующее исключение при использовании метода AddToSpreadSet ():
"Невозможно добавить объект в ObjectStateManager, поскольку у него уже есть EntityKey. Используйте ObjectContext.Attach, чтобы прикрепить объект с существующим ключом."
Если я попытаюсь прикрепить символ перед тем, как присвоить его спреду (закомментированная строка), я получу следующее о методе «SaveChanges ()»:
"Объект не может быть присоединен, поскольку значение свойства, являющегося частью EntityKey, не соответствует соответствующему значению в EntityKey."
Есть идеи?
Спасибо,
Nir