I want to use program keys generated sutomatcaly by my code in the insertion os every entity in my model but i don't want to make it by hand and i still getting in the same error
the problem is
when i try to modify the entity data model
partial void OnContextCreated()
{
this.ObjectStateManager.ObjectStateManagerChanged += new System.ComponentModel.CollectionChangeEventHandler(ObjectStateManager_ObjectStateManagerChanged);
}
void ObjectStateManager_ObjectStateManagerChanged(object sender, System.ComponentModel.CollectionChangeEventArgs e)
{
if (e.Action == System.ComponentModel.CollectionChangeAction.Add && ((EntityObject)e.Element).EntityState == System.Data.EntityState.Added)
{
var entidade = (ObjectStateEntry)e.Element;
var temp = this.CreateEntityKey(entidade.EntityKey.EntitySetName, entidade);
EntityKeyMember[] keymember = new EntityKeyMember[1];
keymember[0] = new EntityKeyMember(temp.EntityKeyValues[0].Key, 1000/*here a function would put the real key*/);
EntityKey chave = new EntityKey();
chave.EntityContainerName = entidade.EntityKey.EntityContainerName;
chave.EntitySetName = entidade.EntityKey.EntitySetName;
chave.EntityKeyValues = keymember;
entidade.EntityKey = chave;
}
}
whe this code runs it says that i cant modfie the entity data model that it can only be set when it is null
any one got a workaround