2011-11-01 65 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案件吗?用该数据库重现此错误的绝对最小代码行数。

相关问题