Если javers.sqlSchemaManagementEnabled=true
, Javers создает таблицы SQL, если они еще не существуют.
Здесь проверено:
Трудно сказать, почему это не работает в вашем случае, попробуйте отладить этот код, используя последнюю версию Javers.
От "Человека" самого:
использование указателей редко требуется в C#, но существуют некоторые ситуации, которые требуют их. Как примеры, с помощью небезопасного контекста для разрешения указателей гарантирован следующими случаями:
, использованию небезопасного контекста в других ситуациях препятствуют.
А именно, небезопасный контекст не должен использоваться, чтобы попытаться написать код C в C#.
Осторожность:
Код записанное использование небезопасного контекста не может быть проверено для сейфа, таким образом, это будет выполняться только, когда коду будут полностью доверять. Другими словами, небезопасный код не может быть выполнен в недоверяемой среде. Например, Вы не можете выполнить небезопасный код непосредственно из Интернета.
Если Вы имеете к.
Говорят, что Вы нуждаетесь к фиктивному цвету в большом полутоновом изображении, говорите 2000x2000 пикселей. Сначала запишите 'безопасную' версию с помощью GetPixel()
и SetPixel()
. Если это работает, большое, движение. если это оказывается слишком медленным, Вы, возможно, должны достигнуть фактические биты, которые составляют изображение (забудьте о Матрицах цветов ради примера). Нет ничего 'плохо' об использовании небезопасного кода, но это добавляет сложность к проекту и должно таким образом использоваться только при необходимости.
Я не могу помнить когда-либо иметь необходимость сделать так - но я не сделал большого количества interop. Это - наиболее распространенное приложение, я верю: вызов в собственный код. Существуют буквально несколько раз, где использование указателей позволяет Вам оптимизировать некоторый код, но это довольно редко, по моему опыту.
, Если это - какое-либо руководство, я считаю, что довольно опытен в C#, но если бы я должен был сделать какой-либо небезопасный код, то я должен был бы консультироваться со СПЕЦИФИКАЦИЕЙ/КНИГАМИ/MSDN для руководства меня. Конечно, будет много людей, которые довольны небезопасным кодом, но менее знакомы с (говорят) выражения запроса...
Я сказал бы, что основные вопросы are:-
я уверен, что существует больше, который мог быть добавлен к списку; в целом, как других сказали - избегают, если у Вас нет to.e.g. вызов неуправляемого метода через p/invoke, который требует некоторого специального указателя funking. Даже тогда marshaller главным образом предотвратит потребность в нем, главным образом.
'Человек, которые, как' также говорят, избегают, если не необходимо в основном.
, О, хорошая статья о прикреплении здесь на MSDN между прочим.
Небезопасный код является полностью поддерживаемой функцией CLR.NET. Преимущества являются производительностью и совместимостью с двоичным кодом. Время выполнения является песочницей, которая препятствует тому, чтобы Вы отказали и горели, но это идет со стоимостью. В ситуациях, где Вы делаете чрезвычайно интенсивные действия против больших блобов в памяти, например, обработка изображения, это быстрее для продвижения вне нормальной безопасности, которую обеспечивает время выполнения.
, Что быть сказанным, я думаю большинство , люди здесь сказали бы, "не делают этого". Подавляющее большинство разработчиков.NET не столкнется со случаем в их нормальных операциях, которые могут только быть решены при помощи небезопасного кода.
Я использовал небезопасный код использовать олицетворение для предоставления сервисного доступа к сетевым ресурсам. Это не проблема, если Вы знаете то, что Вы делаете.
Необходимо использовать их при необходимости в них; главным образом это будет при контакте с некоторыми хитрыми interop сценариями (например, когда я записал управляемую оболочку для DPAPI в.NET 1.0, они были необходимы), но достаточно редко это могло бы быть должно улучшить производительность (после того, как профилирование!) при помощи stackalloc
или подобный.
Это рекомендуется Microsoft в так же, как они - разработчики C#, и они приняли решение добавить возможность записать unsafe
код в нем. Вы видите от выбора ключевого слова и требования для формирования рисунка методов/классов, в которых Вы пишете это с помощью ключевого слова, что это не разработано, чтобы быть фактическим выбором реализации.
курс, который это не "рекомендуется", вот почему это маркировано "небезопасным". Но не позволяйте этому отпугнуть Вас. Хотя, это должно заставить Вас посмотреть дважды на свой код. Возможно, существует управляемый способ сделать это?
Reinterpretive как броски, не предоставленные BitConverter.
Конкретно преобразование unint в интервал для хеш-функций, где все Вы заботитесь о, является битами.
Используя некоторых полезных, хорошо обоснованный о c или C++ идиоматические функции на структурах, где необходимо рассматривать их как байт* известной длины, снова самой полезной для хеширования.
Чрезвычайно быстрая двоичная сериализация (очень конкретного) в структурах памяти (путем выполнения его к массиву их), хотя быть честным, это лучше сделано, просто спав до C++ / CLI.
нужно сказать, что во многих случаях указатели требования задачи могут часто решаться лучше путем выполнения его в C++ / CLI и затем импорта этого в Вас c# проект как dll. Это не изменяется, 'безопасен' ли код или не, но это делает набор из полезных функций для работы на основанных на указателе структурах более доступным. Это также позволяет Вам иметь предосудительные отношения с универсальными типами или перечислениями, если Вы действительно хотите.
вероятность большинства разработчиков, бывших должных сделать, это действительно удаленно. Полезный, когда Вам нужен он хотя...
использующий Небезопасный код похож на упущение benenfits.Net Framework, я привык их однажды для созданных старомодных структур как стеки и материал, но это было только для школы, в наше время у меня не было потребности использовать их.
Сделайте это, если это делает Ваш код короче и более ясный.
"Следуют за Вашими наклонами с должным вниманием полицейскому за углом". WSM