powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Работа с данными типа Geography MS SQL в C#
21 сообщений из 71, страница 3 из 3
Работа с данными типа Geography MS SQL в C#
    #39653453
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mirУбрать статический метод - это прописать код выгрузки в Main()?да.
И не выгрузки, а получить первое значение.
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39653479
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС, а ты молодец. Хоть и медленно, но пытаешься сделать и опробовать все варианты.
Если не выйдет, завтра сам попробую.
Хотя у меня не сиквел, а компакт и постгри.
Дело в провайдере скорее всего, если не вышло.
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39653489
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
авторвсе удали и когда выберешь прова в меню Сгенерировать классы само должно прописаться.

Удалил всё, снова сгенерировал классы сущности, правда я генерирую вот так: ПКМ по проекту - Добавить - Создать элемент - Модель ADO.NET EDM. Но он ни чего у меня не спрашивал, и опять не может найти этот пакет
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39653493
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
reference на сборку sqlserver.types в проект добавь
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39653494
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
авторТС, а ты молодец. Хоть и медленно, но пытаешься сделать и опробовать все варианты.
Если не выйдет, завтра сам попробую.
Хотя у меня не сиквел, а компакт и постгри.
Дело в провайдере скорее всего, если не вышло.

Курсовая "горит", как тут не пытаться...
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39653501
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,
авторreference на сборку sqlserver.types в проект добавь

Прописать "using Microsoft.SqlServer.Types;" перед классом где функция? Это я сделал.

Или как-то по другому нужно?
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39653502
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот что у меня в Конфиге:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
  </startup>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
<connectionStrings><add name="TestGeographyEntities" connectionString="metadata=res://*/TestGeography.csdl|res://*/TestGeography.ssdl|res://*/TestGeography.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=home-pc;initial catalog=TestGeography;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /></connectionStrings></configuration>
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39653503
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добавь в проект через nuget
https://www.nuget.org/packages/Microsoft.SqlServer.Types/
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39653505
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mssqllocaldb вот на счёт этого я не уверен, для большого SQL Server пробуй
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39653512
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,
автордобавь в проект через nuget

Через него я его и добавлял, он у меня в проект добавился. Вот что прописалось в packages.config:
Код: c#
1.
2.
3.
4.
5.
6.
<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="EntityFramework" version="6.2.0" targetFramework="net461" />
  <package id="EntityFramework.ru" version="6.1.3" targetFramework="net461" />
  <package id="Microsoft.SqlServer.Types" version="14.0.314.76" targetFramework="net461" />
</packages>



И соответственно в проекте появилась папка - "SqlServerTypes"
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39653516
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,
автордля большого SQL Server пробуй

Не понял, можно по подробней и доступнее?
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39653537
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mirPetro123,
авторвсе удали и когда выберешь прова в меню Сгенерировать классы само должно прописаться.

Удалил всё, снова сгенерировал классы сущности, правда я генерирую вот так: ПКМ по проекту - Добавить - Создать элемент - Модель ADO.NET EDM. Но он ни чего у меня не спрашивал, и опять не может найти этот пакетпоищи в сети картинку.
Там же окошко с выбором прова и таблиц должно быть.
Как ты пару таблиц выберешь из 1500 таблиц в базе?
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39654115
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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.
namespace TestGeography
{
    using System;
    using System.Data.Entity;
    using System.Data.Entity.Infrastructure;
    
    public partial class TestGeographyEntities : DbContext
    {
        public TestGeographyEntities()
            : base("name=TestGeographyEntities")
        {
        }
    
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            throw new UnintentionalCodeFirstException();
        }
    
        public virtual DbSet<Geo> Geos { get; set; }
        public virtual DbSet<WithoutGeo> WithoutGeos { get; set; }
    }
}

namespace TestGeography
{
    using System;
    using System.Collections.Generic;
    
    public partial class Geo
    {
        public int id { get; set; }
        public System.Data.Entity.Spatial.DbGeography Location { get; set; }
        public double Long { get; set; }
        public double Lat { get; set; }
    }
}

namespace TestGeography
{
    using System;
    using System.Collections.Generic;
    
    public partial class WithoutGeo
    {
        public int id { get; set; }
        public double Long { get; set; }
        public double Lat { get; set; }
    }
}



Так работает (таблица без типа Географи):
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
static void Main(string[] args)
        {
            SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);
            var context = new TestGeographyEntities();
            IQueryable<WithoutGeo> query = context.WithoutGeos;
            List<WithoutGeo> listGeographicalKoordinates = query.ToList();

            foreach (var x in listGeographicalKoordinates)
                Console.WriteLine(x.Lat + " " + x.Long + ";" + "\n");
        }


Так не работает (таблица с типом Географи):
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
static void Main(string[] args)
        {
            SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);
            var context = new TestGeographyEntities();
            IQueryable<Geo> query = context.Geos;
            List<Geo> listGeographicalKoordinates = query.ToList();

            foreach (var x in listGeographicalKoordinates)
                Console.WriteLine(x.Lat + " " + x.Long + ";" + "\n");
        }


Ошибка с типом данных та же самая
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39654122
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
авторпоищи в сети картинку.
Там же окошко с выбором прова и таблиц должно быть.
Как ты пару таблиц выберешь из 1500 таблиц в базе?

Сделал скрины всего пути формирования классов
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39654143
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39654158
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One https://stackoverflow.com/questions/43330792/class-library-entity-framework-code-first-microsoft-sqlserver-types да. Я это читал. Там конечно жесть описана.
С такими заморочками я бы вообще отказался о типа и передавал Lat, Lon и потом в вычисляемом поле объединил в Point.
Даже не знаю, стоит ли теперь понедельник пробовать)).
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39654182
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор Моя версия SQL-сервера 11.0.6020.0, поэтому я установил 11.0.2 версию nuget-пакета. Это очень важно , чтобы соответствовать версии.

Может у меня не соответствие версий? Как определить версию SQL-сервера?

авторНаконец, вам потребуется переопределить SqlServerTypesAssemblyName свойства в SqlProviderServices статическом классе.

Как это сделать?

Код: c#
1.
SqlProviderServices.SqlServerTypesAssemblyName = "Microsoft.SqlServer.Types, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"



Где можно посмотреть "PublicKeyToken=89845dcd8080cc91"? Облазил вроде всё - не нашёл.
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39654185
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторSqlProviderServices.SqlServerTypesAssemblyName = "Microsoft.SqlServer.Types, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"

Где этот код прописывается?
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39654197
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,

авторМоя версия SQL-сервера 11.0.6020.0, поэтому я установил 11.0.2 версию nuget-пакета. Это очень важно , чтобы соответствовать версии.

Если я правильно нашёл, то у меня версия SQL servera 14.1000.169. Учитывая, что "Microsoft.SqlServer.Types" version="14.0.314.76",
то противоречий версий не должно быть. Верно?
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39654402
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,
авторНаконец, вам потребуется переопределить SqlServerTypesAssemblyName свойства в SqlProviderServices статическом классе.


Подскажи как это сделать?

Код: c#
1.
SqlProviderServices.SqlServerTypesAssemblyName = "Microsoft.SqlServer.Types, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"



Где этот код прописывается? Где можно посмотреть "PublicKeyToken=89845dcd8080cc91"? Облазил вроде всё - не нашёл.
...
Рейтинг: 0 / 0
Работа с данными типа Geography MS SQL в C#
    #39656861
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема решена. Вопрос снимается.
...
Рейтинг: 0 / 0
21 сообщений из 71, страница 3 из 3
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Работа с данными типа Geography MS SQL в C#
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]