0
私は、PostgreSQLには、次の表を作成しています:Entity Framework 5 CodeFirst - "各テーブルの列名は一意である必要があります。
create table dbo.user_ratings (
user_id int not null,
user_rated_id int not null,
value decimal not null,
status_id int not null,
created_at timestamp with time zone not null,
updated_at timestamp with time zone null,
user_comment text null,
primary key (user_id, user_rated_id),
foreign key (user_id) references dbo.users(id),
foreign key (status_id) references dbo.status(id),
foreign key (user_rated_id) references dbo.users(id));
CodeFirstを使用してテーブルをマッピングする場合、私は次のことをやっている:
[Table("user_ratings", Schema="dbo")]
public class UserRating {
[Key, Column("user_id", Order = 0)]
public int UserId { get; set; }
public virtual User User { get; set; }
[Key, Column("user_rated_id", Order = 1)]
public int UserRatedId { get; set; }
public virtual User UserRated { get; set; }
[Column("status_id")]
public int StatusId { get; set; }
public virtual Status Status { get; set; }
public decimal Value { get; set; }
[Column("user_comment")]
public string UserComment { get; set; }
[Column("created_at")]
public DateTime CreatedAt { get; set; }
[Column("updated_at")]
public DateTime UpdatedAt { get; set; }
}
さて、これまでのところ、とても良いです。クエリを実行しようとすると、次のエラーが表示されます。
Column names in each table must be unique. Column name 'User_Id' in table 'user_ratings' is specified more than once.
何が問題なのですか。列user_id
に関連するマッピングを削除すると、それは過ぎていますが、正しくはありません。誰か助けてくれますか?
ありがとうございました!
Sqlサーバのproviederでは '[Key、Column(" user_id "、Order = 0)、ForeignKey(" User ")]'にする必要があります。 PostgreSQLプロバイダはそれに対処できますか? –
「Status」と同じです。 –
例外を深く確認すると、sqlserverエラーであることがわかりました。 PostgreSQLをデータベースとして使用していてもSQL Serverエラーが発生するのはなぜですか? – Kiwanax