|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Доброго времени суток, ребята! Пытаюсь с помощью Entity.Framework сделать запрос на выгрузку данных из таблицы БД MS SQL с помощью следующего кода: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Но в 8-ой строке при выполнение данного кода выдаёт исключение: "System.InvalidOperationException: "Spatial types and functions are not available for this provider because the assembly 'Microsoft.SqlServer.Types' version 10 or higher could not be found. "" Библиотеку 'Microsoft.SqlServer.Types' с помощью Nuget загрузил и директиву "using Microsoft.SqlServer.Types;" прописал. В самом коде перед записью данных из таблицы в список как требовалось по инструкции ("For desktop applications, add the following line of code to run before any spatial operations are performed:") прописал следующий код - строка 5. Продолжает выдавать исключение "Spatial types and functions are not available for this provider because the assembly 'Microsoft.SqlServer.Types' version 10 or higher could not be found. "" Подскажите пожалуйста, что сделал не верно, как исправить? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2018, 19:06 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Vlad__i__mir, https://www.andrewcbancroft.com/2017/03/27/solving-spatial-types-and-functions-are-not-available-with-entity-framework/ ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2018, 09:54 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Petro123, спасибо, но проблема не устранена. Возможно я не там прописываю инструкции "SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);" и "SqlProviderServices.SqlServerTypesAssemblyName = "Microsoft.SqlServer.Types, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91";". У меня в проекте C# Windows Forms нет класса Default.aspx.cs и я прописываю эти инструкции непосредственно в функции, которая выполняет запрос, возможно это не верно. Как правильно я не знаю (. И ещё вопрос, что это за ключ - "PublicKeyToken=89845dcd8080cc91"? В информации к пакету в NuGet такой информации не нашёл, поэтому просто написал тоже самое. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2018, 11:19 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Продолжаю пытаться что-то сделать что бы заработало. Залез в ссылки проекта, нашёл там ссылку на "Microsoft.SqlServer.Types", в свойствах увидел, что параметр "Внедрить типы взаимодействия" - False, попробовал поставить True. Теперь выдает следующие 2 ошибки: 1) Ошибка CS1747 Не удается внедрить типы взаимодействия из сборки "Microsoft.SqlServer.Types, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" из-за отсутствия в ней атрибута "System.Runtime.InteropServices.GuidAttribute"; 2) Ошибка CS1759 Внедрение типов взаимодействия из сборки "Microsoft.SqlServer.Types, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" невозможно, так как у нее отсутствует атрибут "System.Runtime.InteropServices.ImportedFromTypeLibAttribute" или атрибут "System.Runtime.InteropServices.PrimaryInteropAssemblyAttribute". ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2018, 21:15 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
В классе сущности, который C# сформировал автоматически по таблицы из БД данный тип отображается вот так: public System.Data.Entity.Spatial.DbGeography Koordinate { get; set; } Может тут нужен какой-то другой подход? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2018, 21:25 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Vlad__i__mirВ классе сущности, который C# сформировал автоматически по таблицы из БД данный тип отображается вот так: public System.Data.Entity.Spatial.DbGeography Koordinate { get; set; } Может тут нужен какой-то другой подход?чем сформировали? Edmx файл? Vlad__i__mirМожет тут нужен какой-то другой подход?да. Например сделать не свой пример, а чей то из сети или книжки. Потом уже свой. Еще можно пользовательский тип ОРМ. Это уже вручную сделать любой свой тип. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2018, 22:09 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Petro123чем сформировали? Edmx файл? да. Например сделать не свой пример, а чей то из сети или книжки. Потом уже свой. Еще можно пользовательский тип ОРМ. Это уже вручную сделать любой свой тип. Классы сущности сформировал автоматически с помощью Entity Framework 6.0.0 (ПКМ по проекту - Добавить - Создать элемент - Модель ADO.NET EDM). Вот он целиком (.cs): Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
Так я и делал функцию на выгрузку по примеру из сети, только там не было типа Географфи и всё работало, а у меня он есть и поэтому выдаёт ошибку. Что за тип ОРМ? В интернете почитал, там написано, что типы Географфи и Геометри Entity Framework поддерживаются с 5-ой версии да и в классе сущностион всё верно автоматически сформировал. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 16:31 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Vlad__i__mirтам не было типа Географфи Я имел ввиду найти как раз пример с данным типом. Неужели ни одного примера? Про "Пользовательские типы", они в хибернейте есть. Тебе будет сложно. В EF вроде нет таких. Там можно свой тип сделать. Ещё вариант, сделать запрос и получить байтовый массив. Типа у меня в постгри Select st_asBinary(geometry.... Цикл (byte[])reader.GetValue(0) .... Ищи пример в сети. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 17:35 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
SQL-сервер то у вас какой версии? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 17:39 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
вот туториал с 2008 http://www.entityframeworktutorial.net/EntityFramework5/spatial-datatype-in-entity-framework5.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 17:40 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
ну и вот это посмотрите, там всё подробненько с нюансами: https://weblog.west-wind.com/posts/2012/Jun/21/Basic-Spatial-Data-with-SQL-Server-and-Entity-Framework-50 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 17:42 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Konst_OneSQL-сервер то у вас какой версии? 2017 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 13:41 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
ищите по версии сервера тогда, может баг какой и патч нужно ставить ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 13:55 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Konst_Oneну и вот это посмотрите, там всё подробненько с нюансами: https://weblog.west-wind.com/posts/2012/Jun/21/Basic-Spatial-Data-with-SQL-Server-and-Entity-Framework-50 Вроде всё тоже самое. Вот описание сущностей с примера: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Вот моё: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223.
Смущает лишь то, что у меня EF все методы обозначил виртуальными, следовательно они где-то могут ещё описываться, а вот где? В проекте нет. Вот выгрузка данных из примера, вот только в ней не выгружается поле с типом Geography, а берётся только одно поле: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Вот моя: Код: c# 1. 2. 3. 4. 5. 6. 7.
Но у меня выдает ошибку, и судя потому, что ошибка возникает на строке Код: c# 1.
, если я правильно понял ошибка на стадии преобразования уже полученных по запросу данных в List ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 14:08 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Vlad__i__mirВот моё:не твоё, а короткий пример по ссылке работает? Один в один из демки? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 14:28 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Konst_OneSQL-сервер то у вас какой версии? Ещё вопрос по поводу сервера. В Windows (Панели управления - Программы и компоненты) указано кроме Microsoft SQL Server 2017, ещё Microsoft SQL Server 2012 Native Client, Microsoft SQL Servera 2012 Native Client, Microsoft System CLR Types для SQL Servera 2014, Microsoft SQL Server 2016 LocalDb и ещё ... (в файле скрин со всеми этими названиями) Так вот что же это? Я просто начал сомневаться, что у меня именно Microsoft SQL Server 2017 ( [img=] ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 14:41 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Petro123Vlad__i__mirВот моё:не твоё, а короткий пример по ссылке работает? Один в один из демки? Пример по ссылке я не реализовывал, там нужно БД делать, а у меня она уже готовая и в примере нет выгрузки записей с полем типа Geography, а выводится только одно поле типа string, а у меня ошибка именно с Geography ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 14:47 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Vlad__i__mir, Вот ты упрямый. Я глянул 10 сек ссылку. Там работа с геометрическим полем. Неважно вырузка или вгрузка. Если демка та работает, то один разговор. Если ет, то другой. Зы. Версию сервера смотреть не там, а отпраить запрос к серверу. Select version или как там, не помню. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 15:05 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
в SSMS надо выполнить (версия сервера): Код: sql 1.
у базы данных есть понятие уровня совместимости, проверьте, что у вас там (см. настройки базы) PS и сделайте полную установку 2017 SQL, а то у вас клиентская часть стоит от 2012 сервера ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 15:06 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Konst_Oneполную установку 2017 SQLда. Геометрические приблуды обычно отдельно галки указыват при установке. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 15:07 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Petro123Vlad__i__mirВот моё:не твоё, а короткий пример по ссылке работает? Один в один из демки? Попробовал на своём примере сделать прямо как у них: private static GeographicalKoordinates GetGeographicalKoordinatesEf() { var context = new Database_fast_waterEntities(); var query = context.GeographicalKoordinates.First(); return query; } Выдаёт ошибку уже при запросе в 4-ой строке ((: ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 15:09 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Petro123, Сделал запрос версия 2017: Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64) Aug 22 2017 17:04:49 Copyright (C) 2017 Microsoft Corporation Express Edition (64-bit) on Windows 8.1 Pro 6.3 <X64> (Build 9600: ) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 15:24 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Vlad__i__mirПопробовал на своём примере сделать прямо как у них:вот и не показывай свои простыни код пока не заработает демка в 4 строки. Ставь сервер. Геопрограммирование это не просто. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 15:24 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Konst_One, автори сделайте полную установку 2017 SQL, а то у вас клиентская часть стоит от 2012 сервера Вроде делал полною, и MS SQL Manager Studio 2017 установлена, через неё работаю. Можно ли как-то аккуратно выполнить полную установку 2017 SQL, что бы ничего не полетело? Если да, то как? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 15:30 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Petro123, авторвот и не показывай свои простыни код пока не заработает демка в 4 строки. Ставь сервер. Геопрограммирование это не просто. Так а что с сервером не так, что сносить его и заново переустанавливать? авторда. Геометрические приблуды обычно отдельно галки указыват при установке. Не спрашивало. Можно эти настройки посмотреть через MS SQL Manager Studio 2017? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 15:34 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Petro123Konst_Oneполную установку 2017 SQLда. Геометрические приблуды обычно отдельно галки указыват при установке. При создании БД он поддерживал же данный тип данных и сам предлагал его в списке доступных ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 15:39 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Vlad__i__mir, Выше две ссылки с примерами. Почему не делаем? Причем тут версия сервера? Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 15:48 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Petro123Vlad__i__mir, Вот ты упрямый. Я глянул 10 сек ссылку. Там работа с геометрическим полем. Неважно вырузка или вгрузка. Если демка та работает, то один разговор. Если ет, то другой. Зы. Версию сервера смотреть не там, а отпраить запрос к серверу. Select version или как там, не помню. Решил последовать твоему совету и реализовать пример из 2-ой ссылки. EF выдал предупреждение: Предупреждение Ошибка 6002: В таблице или представлении "TestGeography.dbo.Geo" не определен первичный ключ. Ключ был выведен, а определение таблицы или представления было создано в режиме только для чтения. ProjectTestGeography D:\Учеба ФМИТ 2 курс\ОЯиС\ProjectTestGeography\ProjectTestGeography\TestGeography.edmx 1 Ну это ладно. После реализации всего и запуска выдало вот такое исключение ( [img=] И мне ещё показалось странным, что в БД он создает таблицу с полями: Код: sql 1. 2. 3. 4.
, а класс с полями public class GeoLocation { public int Id { get; set; } public DbGeography Location { get; set; } public string Address { get; set; } } Попробовал это исправить, но результат тот же. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 17:03 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Vlad__i__mir, Руками в бд делать таблу, а edmx это классы по табле. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 17:31 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Petro123Vlad__i__mir, Руками в бд делать таблу, а edmx это классы по табле. Так я все БД руками и делал, а потом уже создавал проект C# соединял его с БД и с помощью EF автоматически формировал классы по БД ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 17:45 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
вас не смущает, что сущности разные? Код: c# 1. 2. 3. 4. 5. 6.
Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 17:50 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Konst_One, авторвас не смущает, что сущности разные? Конечно смутила, вот что я ранее писал об этом: авторНу это ладно. После реализации всего и запуска выдало вот такое исключение ( [img=] И мне ещё показалось странным, что в БД он создает таблицу с полями: [id] [int] IDENTITY(1,1) NOT NULL, [Location] [geography] NULL, [Long] [float] NOT NULL, [Lat] [float] NOT NULL , а класс с полями public class GeoLocation { public int Id { get; set; } public DbGeography Location { get; set; } public string Address { get; set; } } Попробовал это исправить, но результат тот же. Вот как пробовал переделывать класс сущность: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 18:18 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Konst_One, ошибка та же [img=] ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 18:22 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Vlad__i__mir, Проблемы решать по мере поступления. - убрать геометрическое поле и добиться чтобы генерируемый класс соответствовал табле в бд. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 22:57 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
что-то странно вы работаете со своей табличкой Location. вы сначала просто выборку сделайте, пример же у вас был выше ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 11:44 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
и проверьте настройки строки соединения в своём конфиге, может вы провайдер выбрали неверный ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 11:45 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Petro123, Если я уберу геометрическре поле, то генерируемый класс не будет соответствовать БД, а приводить класс в соответствии с таблицей БД я уже пробовал, выше писал об этом - результат тот же ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 14:37 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Konst_One, авторчто-то странно вы работаете со своей табличкой Location. вы сначала просто выборку сделайте, пример же у вас был выше И обычную выгрузку я пробовал, тоже самое исключение, что и на предыдущем скрине: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 14:58 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Konst_One, автори проверьте настройки строки соединения в своём конфиге, может вы провайдер выбрали неверный Всё нормально с ним - "providerName="System.Data.EntityClient"". В моём примере таблицы не имеющие тип Geography выгружаются с этим провайдером без проблем. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 15:02 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Vlad__i__mirPetro123, Если я уберу геометрическре поле, то генерируемый класс не будет соответствовать БД, а приводить класс в соответствии с таблицей БД я уже пробовал, выше писал об этом - результат тот же Не понял. В бд сделать копию таблицы без поля и протестить. 30 минут времени. Работаем! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 15:17 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
я вот вам про это: Код: c# 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 15:19 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Vlad__i__mir, Еще раз перечитал. Не врубаюсь. Ты без поля покажи таблу dml и класс после генерации. Потом тоже самое добавив поле. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 15:20 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 15:25 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
и это в конфиг: Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 15:26 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Petro123, авторТы без поля покажи таблу dml и класс после генерации. Потом тоже самое добавив поле. Вот это без поля Geography -работает: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51.
Вот это с полем Geography - не работает: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 16:33 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Vlad__i__mir, Сделай один контекст для обоих примеров и убери статический метод. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 16:49 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Konst_One, авторInstall-Package Microsoft.SqlServer.Types Установил данный пакет через Nuget Manager. Скачалась версия "14.0.314.76". автори это в конфиг: В App.config прописал: Код: c# 1. 2. 3. 4.
Выдал следующею ошибку: "System.TypeInitializationException: "Инициализатор типа "System.Data.Entity.Internal.AppConfig" выдал исключение." ConfigurationErrorsException: Система конфигурации не прошла инициализацию ConfigurationErrorsException: Неизвестный раздел конфигурации dependentAssembly." ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 16:55 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Vlad__i__mirВ App.config прописал:все удали и когда выберешь прова в меню Сгенерировать классы само должно прописаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 17:01 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Petro123, авторСделай один контекст для обоих примеров и убери статический метод. Полностью одинаковый? Даже "base("name=TestGeographyEntities")"? Убрать статический метод - это прописать код выгрузки в Main()? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 17:02 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Vlad__i__mirПолностью одинаковый? Даже "base("name=TestGeographyEntities")"? В одной базе две таблы это один edmx и импорт туда две таблы. Это один контекст. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 17:04 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Vlad__i__mirУбрать статический метод - это прописать код выгрузки в Main()?да. И не выгрузки, а получить первое значение. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 17:05 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
ТС, а ты молодец. Хоть и медленно, но пытаешься сделать и опробовать все варианты. Если не выйдет, завтра сам попробую. Хотя у меня не сиквел, а компакт и постгри. Дело в провайдере скорее всего, если не вышло. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 17:35 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Petro123, авторвсе удали и когда выберешь прова в меню Сгенерировать классы само должно прописаться. Удалил всё, снова сгенерировал классы сущности, правда я генерирую вот так: ПКМ по проекту - Добавить - Создать элемент - Модель ADO.NET EDM. Но он ни чего у меня не спрашивал, и опять не может найти этот пакет ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 17:49 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
reference на сборку sqlserver.types в проект добавь ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 17:51 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Petro123, авторТС, а ты молодец. Хоть и медленно, но пытаешься сделать и опробовать все варианты. Если не выйдет, завтра сам попробую. Хотя у меня не сиквел, а компакт и постгри. Дело в провайдере скорее всего, если не вышло. Курсовая "горит", как тут не пытаться... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 17:52 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Konst_One, авторreference на сборку sqlserver.types в проект добавь Прописать "using Microsoft.SqlServer.Types;" перед классом где функция? Это я сделал. Или как-то по другому нужно? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 17:57 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Вот что у меня в Конфиге: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 17:59 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
добавь в проект через nuget https://www.nuget.org/packages/Microsoft.SqlServer.Types/ ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 18:00 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
mssqllocaldb вот на счёт этого я не уверен, для большого SQL Server пробуй ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 18:01 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Konst_One, автордобавь в проект через nuget Через него я его и добавлял, он у меня в проект добавился. Вот что прописалось в packages.config: Код: c# 1. 2. 3. 4. 5. 6.
И соответственно в проекте появилась папка - "SqlServerTypes" ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 18:07 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Konst_One, автордля большого SQL Server пробуй Не понял, можно по подробней и доступнее? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 18:09 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Vlad__i__mirPetro123, авторвсе удали и когда выберешь прова в меню Сгенерировать классы само должно прописаться. Удалил всё, снова сгенерировал классы сущности, правда я генерирую вот так: ПКМ по проекту - Добавить - Создать элемент - Модель ADO.NET EDM. Но он ни чего у меня не спрашивал, и опять не может найти этот пакетпоищи в сети картинку. Там же окошко с выбором прова и таблиц должно быть. Как ты пару таблиц выберешь из 1500 таблиц в базе? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2018, 18:29 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Petro123, авторВ одной базе две таблы это один edmx и импорт туда две таблы. Это один контекст. Вот пожалуйста: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49.
Так работает (таблица без типа Географи): Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Так не работает (таблица с типом Географи): Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Ошибка с типом данных та же самая ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2018, 16:39 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Petro123, авторпоищи в сети картинку. Там же окошко с выбором прова и таблиц должно быть. Как ты пару таблиц выберешь из 1500 таблиц в базе? Сделал скрины всего пути формирования классов ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2018, 16:51 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2018, 17:23 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Konst_One https://stackoverflow.com/questions/43330792/class-library-entity-framework-code-first-microsoft-sqlserver-types да. Я это читал. Там конечно жесть описана. С такими заморочками я бы вообще отказался о типа и передавал Lat, Lon и потом в вычисляемом поле объединил в Point. Даже не знаю, стоит ли теперь понедельник пробовать)). ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2018, 17:53 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
автор Моя версия SQL-сервера 11.0.6020.0, поэтому я установил 11.0.2 версию nuget-пакета. Это очень важно , чтобы соответствовать версии. Может у меня не соответствие версий? Как определить версию SQL-сервера? авторНаконец, вам потребуется переопределить SqlServerTypesAssemblyName свойства в SqlProviderServices статическом классе. Как это сделать? Код: c# 1.
Где можно посмотреть "PublicKeyToken=89845dcd8080cc91"? Облазил вроде всё - не нашёл. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2018, 18:44 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
авторSqlProviderServices.SqlServerTypesAssemblyName = "Microsoft.SqlServer.Types, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Где этот код прописывается? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2018, 18:46 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Konst_One, авторМоя версия SQL-сервера 11.0.6020.0, поэтому я установил 11.0.2 версию nuget-пакета. Это очень важно , чтобы соответствовать версии. Если я правильно нашёл, то у меня версия SQL servera 14.1000.169. Учитывая, что "Microsoft.SqlServer.Types" version="14.0.314.76", то противоречий версий не должно быть. Верно? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2018, 19:26 |
|
Работа с данными типа Geography MS SQL в C#
|
|||
---|---|---|---|
#18+
Konst_One, авторНаконец, вам потребуется переопределить SqlServerTypesAssemblyName свойства в SqlProviderServices статическом классе. Подскажи как это сделать? Код: c# 1.
Где этот код прописывается? Где можно посмотреть "PublicKeyToken=89845dcd8080cc91"? Облазил вроде всё - не нашёл. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2018, 21:38 |
|
|
start [/forum/topic.php?all=1&fid=17&tid=1349193]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
98ms |
get tp. blocked users: |
2ms |
others: | 245ms |
total: | 444ms |
0 / 0 |