我有下面的表结构
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)
};
但是我得到以下错误:
无法决定要考虑哪个属性的关键-你可以创建一个名为'ID'或标记一个SubSonicPrimaryKey属性"
我试过将Id
重命名为ID
,但似乎没有帮助。
您如何设法从该数据库触发此错误并不明显。该错误出现在文件Extensions.Object.cs中的第301行,应该与基于代码中的属性属性分析模式有关。如果您使用ActiveRecord模板来处理您的数据库模式,它应该已经找到了ID列,但在任何情况下都不应该触发此错误。至少我是这么理解的。
如果这没有帮助,你可以试着发布一个复制案例吗?在该数据库中重现此错误的绝对最少代码行数