powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ & MS SQL 8.0 Syntax error
1 сообщений из 1, страница 1 из 1
LINQ & MS SQL 8.0 Syntax error
    #35848212
Terol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

Пытаюсь из ASP.NET сделать запрос к MS SQL 8.0. в коде вызываю вот такую конструкцию

Код: plaintext
var ClientToEdit = _db.v_UserDetails.First(p => p.UserName == id);

При обращении к базе страничка падает с ошибкой

Сведения об исключении: System.Data.SqlClient.SqlException: Line 1: Incorrect syntax near '('.
Incorrect syntax near the keyword 'AS'.


Профайлером посмотрел какой идет запрос

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
exec sp_executesql N'SELECT TOP (1) 
[Extent1].[Account] AS [Account], 
[Extent1].[AccountDate] AS [AccountDate], 
[Extent1].[AccountID] AS [AccountID], 
[Extent1].[ClientAccountID] AS [ClientAccountID], 
[Extent1].[Comment] AS [Comment], 
[Extent1].[Email] AS [Email], 
[Extent1].[FullName] AS [FullName], 
[Extent1].[phone] AS [phone], 
[Extent1].[UserName] AS [UserName]
FROM (SELECT 
      [v_UserDetails].[Account] AS [Account], 
      [v_UserDetails].[AccountDate] AS [AccountDate], 
      [v_UserDetails].[AccountID] AS [AccountID], 
      [v_UserDetails].[ClientAccountID] AS [ClientAccountID], 
      [v_UserDetails].[Comment] AS [Comment], 
      [v_UserDetails].[Email] AS [Email], 
      [v_UserDetails].[FullName] AS [FullName], 
      [v_UserDetails].[phone] AS [phone], 
      [v_UserDetails].[UserName] AS [UserName]
      FROM [dbo].[v_UserDetails] AS [v_UserDetails]) AS [Extent1]
WHERE [Extent1].[UserName] = @p__linq__2', N'@p__linq__2 nvarchar(6)', @p__linq__2 = N'1vudu1'

Как я понял, проблема заключается в том что linq в select прописывает

Код: plaintext
TOP (1) 

а MS SQL 8.0 по синтаксису это не пропускает.
Подключаюсь к SQL серверу вот такой строкой

Код: plaintext
1.
<add name="osmpdbEntities" connectionString="metadata=res://*/osmpdb.csdl|res://*/osmpdb.ssdl|res://*/osmpdb.msl;provider=System.Data.SqlClient;provider connection string="Data Source=(local);Initial Catalog=osmpdb;Persist Security Info=True;User ID=xxxxxxx;Password=xxxxxxx;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />

Собственно, как объяснить LINQ что не надо писать TOP (1) при обращении к SQL?

С уважением,
Станислав Свириденко
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ & MS SQL 8.0 Syntax error
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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