2011-11-01 64 views
0

我有以下結構表Subsonic 3.0.0.3在列名上獲取不同的項目。 ActiveRecord的

CREATE TABLE [dbo].[CityDistancesMin](
    [Id] int identity(1,1) not null, 
    [City1] [int] NOT NULL, 
    [City2] [int] NOT NULL, 
    [Car] [nvarchar](50) NOT NULL, 
    [Distance] [int] NOT NULL, 
CONSTRAINT [PK_CityDistancesMin] PRIMARY KEY CLUSTERED 
(
    [Id] ASC 
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, 
    ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) 
ON [PRIMARY] 

我需要一種方式來獲得亞音速3.0.0.3城市的不同的ID。例如,在SQL那就只能是Select distinct City1 from CityDistancesMin

我嘗試做以下

SqlQuery query = new Select(CityDistancesMinTable.City1Column) 
    .From< CityDistancesMinTable>(); 
    query.Aggregates = new List<Aggregate> { 
      new Aggregate(CityDistancesMinTable.City1Column, AggregateFunction.GroupBy) 
    }; 

但我發現了以下錯誤:

Can't decide which property to consider the Key - you can create one called 'ID' or mark one with SubSonicPrimaryKey attribute"

我試圖重新命名IdID但它似乎沒有幫助。

回答

0

如何設法從該數據庫中觸發此錯誤並不明顯。該錯誤是文件Extensions.Object.cs中的第301行,應該與基於代碼中的屬性屬性分析模式有關。如果您使用ActiveRecord模板來處理數據庫模式,它應該找到ID列,但無論如何都不應觸發此錯誤。至少我是這麼理解的。

如果這沒有幫助,你可以嘗試發佈repro案件嗎?用該數據庫重現此錯誤的絕對最小代碼行數。

相關問題