ComputeMappingHashValue () создает разные значения для одного и того же DbContext - PullRequest
0 голосов
/ 18 октября 2019

У меня есть проект уровня данных первого уровня кода, который создает библиотеку DLL с контекстом данных EF (скажем, MyContext). Внутри другого проекта в решении я могу создать этот контекст и использовать его.
Когда я пытаюсь использовать эту DLL из внешнего приложения (в моем случае LINQPad), я получаю сообщение «Текущая модель больше не соответствует моделииспользуется для предварительной генерации отображений ... ».

Затем я добавил код, который просматривает ObjectContext и проверяет этот хэш:

var _objectContext = ((IObjectContextAdapter)ctxCentral1).ObjectContext;
var mappingCollection = (StorageMappingItemCollection)_objectContext.MetadataWorkspace.GetItemCollection(DataSpace.CSSpace);
Debug.WriteLine($"Hash = {mappingCollection.ComputeMappingHashValue()}");

для обеих программ. Я заметил, что хеши, созданные внутри решения и во внешней программе, отличаются. Почему так? Я не смог найти алгоритм, как вычисляется этот хэш ...

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