' Пользователь ' - зарезервированное слово на сервере SQL, выполняется команда SQL:
create table User (Id INT IDENTITY NOT NULL,
UserName NVARCHAR(255) null unique,
primary key (Id))
Недопустимо называть таблицу «Пользователь» на сервере SQL, но этоДопустимо назвать его [Пользователь] .
create table [User] (Id INT IDENTITY NOT NULL,
UserName NVARCHAR(255) null unique,
primary key (Id))
В качестве решения вы можете определить разные имена для таблиц и столбцов, названных зарезервированными словами:
[ActiveRecord("[User]")]
public class User : ActiveRecordLinqBase<User>
{
[PrimaryKey]
public int Id { get; set; }
[Property(Unique = true)]
public string UserName { get; set; }
[HasMany]
public IList<Activity> Activities { get; set; }
}
Когдаиспользуя [ ] вокруг имени таблицы, зарезервированные имена допускаются.То же самое относится и к столбцам отношений:
[ActiveRecord]
public class Activity : ActiveRecordLinqBase<Activity>
{
[PrimaryKey]
public int Id { get; set; }
[BelongsTo("[User]")]
public User User { get; set; }
}
Конечно, любое другое имя, например [ActiveRecord("SomeUser")]
, будет работать.