#c# #sql #sql-server-2005 #subsonic3 #subsonic-active-record
#c# #sql #sql-server-2005 #subsonic3 #subsonic-active-record
Вопрос:
У меня есть следующая структура для таблицы
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]
И мне нужен способ получить разные идентификаторы городов в SubSonic 3.0.0.3. Например, в 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
, но, похоже, это не помогает.
Ответ №1:
Не очевидно, как вам удалось вызвать эту ошибку из этой базы данных. Ошибка — строка 301 в расширениях файлов.Object.cs и должен быть связан с анализом схемы на основе атрибутов свойств в коде. Если вы используете шаблоны ActiveRecord для обработки вашей схемы базы данных, он должен был найти столбец ID, но в любом случае не должен вызывать эту ошибку. По крайней мере, так я это понимаю.
Если это не поможет, можете ли вы попробовать опубликовать пример воспроизведения? Абсолютный минимум строк кода для воспроизведения этой ошибки с этой базой данных.