SubSonic 3忽略Select()中的列

时间:2010-04-15 17:12:01

标签: subsonic subsonic3

我有一张这样的桌子..

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);

这是SubSonic生成的结果SQL查询。

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

我无法弄清楚为什么SubSonic在生成SELECT语句时省略了nvarchar字段。有人有任何想法吗?

1 个答案:

答案 0 :(得分:0)

我无法解决这个问题。我最后只是执行一个普通的旧DataReader并“手动”填充我的对象。

如果有人稍后回答,我会更改已接受的答案。