SubSonic 3 игнорирует столбцы в Select () - PullRequest
0 голосов
/ 15 апреля 2010

У меня есть таблица, как так ..

CREATE TABLE [dbo].[Locations_Hours](
  [LocationID] [int] NOT NULL,
  [sun_open] [nvarchar](10) NULL,
  [sun_close] [nvarchar](10) NULL,
  [mon_open] [nvarchar](10) NULL,
  [mon_close] [nvarchar](10) NULL,
  [tue_open] [nvarchar](10) NULL,
  [tue_close] [nvarchar](10) NULL,
  [wed_open] [nvarchar](10) NULL,
  [wed_close] [nvarchar](10) NULL,
  [thu_open] [nvarchar](10) NULL,
  [thu_close] [nvarchar](10) NULL,
  [fri_open] [nvarchar](10) NULL,
  [fri_close] [nvarchar](10) NULL,
  [sat_open] [nvarchar](10) NULL,
  [sat_close] [nvarchar](10) NULL,
  [StoreNumber] [int] NULL,
  [LocationHourID] [int] IDENTITY(1,1) NOT NULL,
 CONSTRAINT [PK_Locations_Hours] PRIMARY KEY CLUSTERED 
(
  [LocationHourID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

И SubSonic 3 генерирует класс со следующими свойствами

int LocationID
string monopen
string monclose
string tueopen 
string tueclose
string wedopen 
string wedclose
string thuopen 
string thuclose
string friopen 
string friclose
string satopen 
string satclose
string sunopen 
string sunclose
int? StoreNumber
int LocationHourID

Когда я пытаюсь выполнить запрос к этому классу, вот так ..

var result = DB.LocationHours.Where(o => o.LocationID == _locationId);

Это результирующий SQL-запрос, который генерирует SubSonic.

SELECT [t0].[LocationHourID], [t0].[LocationID], [t0].[StoreNumber]
FROM [dbo].[Locations_Hours] AS t0
WHERE ([t0].[LocationID] = 4019)

Я не могу понять, почему SubSonic пропускает поля nvarchar, когда генерирует инструкцию SELECT. У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 08 июня 2010

Я так и не смог решить эту проблему. В итоге я просто запустил простой старый DataReader и «вручную» заполнил свои объекты.

Если кто-нибудь придет позже с ответом, я изменю принятый ответ.

...