Типы данных, поддерживаемые в visual studio 2008

#sql-server #visual-studio #visual-studio-2008 #linq #types

Вопрос:

Я только что скачал и установил последнюю базу данных Adventure Works из http://www.codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=16040 чтобы еще немного поиграть с LINQ, и обнаружил, что есть некоторые типы данных, которые изначально не поддерживаются в Visual Studio 2008. Я получаю сообщение об ошибке «Один или несколько выбранных элементов содержат тип данных, который не поддерживается разработчиком».

Я обнаружил, что в данном случае проблема заключается в типе пространственных данных.

Мои вопросы таковы:

  • Какие другие типы данных по своей сути не поддерживаются Visual Studio, которая находится в SQL Serve 2008?
  • Почему эти типы не поддерживаются?

Второй вопрос, я думаю, самый загадочный для меня. Я могу понять, почему не все типы данных будут поддерживаться MySQL, Oracle, Postgre SQL и так далее. Я бы подумал, что группа разработчиков SQLServer может предупредить группу разработчиков Visual Studio, ну, вы знаете, крикнуть в коридоре или что-то в этом роде.

Комментарии:

1. просто к вашему сведению, Visual Studio-это просто среда разработки, это . Сетевая структура, определяющая типы данных. Также может помочь, если вы уточните, какой язык используете, хотя это напрямую не влияет на ответы на ваш вопрос.

2. Я не указывал язык, так как в данном случае это было бы неуместно. Я предполагаю, что это будет та же проблема с VB, C#, F#, J#. Тем не менее, спасибо за помощь в разъяснении структуры.

Ответ №1:

Согласно этому сообщению в блоге, это все, кроме пространственных типов (геометрия и география) и типа данных HierarchyID.

А что касается «почему»? Ну, они выпускают поддержку для большинства типов в обновлении, согласно этому блогу, опубликованному ADO.NET команда, но это последняя запись LINQ to SQL. Похоже, сейчас они беспокоятся только о структуре сущностей. Кто знает, увидим ли мы когда-нибудь LINQ для SQL v2?

Ответ №2:

SqlGeography и LINQ для SQL

Проблема: Это случай, когда мы используем типы пространственных данных ( Geometry , Geography ), поддерживаемые SQL Server 2008 в LINQ to SQL.

Решение: Шаг 1. Создайте представление, основанное на нужной таблице и не включающее неподдерживаемый тип данных (просто включите столбец как: CAST(geography_column AS VARBINARY(MAX))

Шаг 2. Перетащите представление из Server Explorer / Database Explorer в конструктор.