Ich erstelle die folgende Tabelle auf PostgreSQL:Entity Framework 5 CodeFirst - "Spaltennamen in jeder Tabelle müssen eindeutig sein."
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));
Wenn die Tabelle CodeFirst mit Abbildung, ich tue das folgende:
[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; }
}
Nun, so weit, so gut. Wenn ich versuche, etwas zu fragen, ich bin immer der Fehler unter:
Column names in each table must be unique. Column name 'User_Id' in table 'user_ratings' is specified more than once.
Was mit diesem falsch? Wenn ich das Mapping für die Spalte user_id
entferne, passiert es, aber es stimmt nicht. Kann mir jemand helfen?
Danke euch allen !!!
Mit dem Sql-Server probieter sollte es '[Key, Column (" user_id ", Order = 0), ForeignKey (" User ")]' sein. Kann der PostgreSQL-Anbieter damit umgehen? –
Und das gleiche für 'Status'. –
Überprüfen der Ausnahme tiefer, fand ich, dass es ein SQL Server-Fehler ist. Warum werden SQL Server-Fehler ausgelöst, obwohl ich PostgreSQL als Datenbank verwende? – Kiwanax