2016-04-17 12 views
0

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 !!!

+0

Mit dem Sql-Server probieter sollte es '[Key, Column (" user_id ", Order = 0), ForeignKey (" User ")]' sein. Kann der PostgreSQL-Anbieter damit umgehen? –

+0

Und das gleiche für 'Status'. –

+0

Ü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

Antwort

0

Scheint, dass dieser Fehler nur auf SQLServer-Datenbanken bezogen ist. Ich hatte immer noch einige SQLServer-Konfigurationen in meiner Web.config/App.config, deshalb wurde dieser Fehler angezeigt. Ohne SQLServer-Konfigurationen ist der Fehler verschwunden.

Verwandte Themen