| 

.NET C# Java Javascript Exception

2
Ich habe eine Problem mit der ckonfiguraiton einer Relation zwischen zwei Entitäten in Entity Framwork 6.1:

`User` kann einer `Person` zu geordnet werden, `Person` kann viele `User` haben.

Die Definitionen der Klassen `User` und `Person`
class User
{
public int Id {get; set;}

public int? PersonId {get; set;}
public virtual Person Person {get; set;}
}

public class Person
{
public int Id { get; set; }

public string Title { get; set; } = string.Empty;
public string LastName { get; set; } = string.Empty;
public string MiddleName { get; set; } = string.Empty;
public string FirstName { get; set; } = string.Empty;
public Gender Gender { get; set; } = Gender.Unknown;

public virtual ICollection<User> Users { get; set; }
}


Hier die von mir genutzten Konfiguration für `User`:
public class UserMap : EntityTypeConfiguration<User>
{
public UserMap ()
{
HasOptional (p => p.Person).WithMany (p => p.Users).HasForeignKey (p => p.PersonId);
}
}


In der `Seed` Methode des Datenbakinitialisators versuche ich einen `User` OHNE Personenreferenz anzulegen.
var system = new User { LogIn = "System_Trial", PasswordHash = "abcdef", CreatedAt = _now, ChangedAt = _now };
ctx.Users.Add (system);


und laufe beim generieren der Datenbank auf folgenden Fehler:

"The INSERT statement conflicted with the FOREIGN KEY constraint "FK_dbo.Users_dbo.People_Id". The conflict occurred in database "TrialDb", table "dbo.People", column 'Id'."

Kann mir hier jemand helfen?
26.04.2016
mph 227 1 6
Moin,
schau mal auf Deine Usertabelle! Der Fremdkey der auf People zeigt sollte Nullable sein!
– Gast 04.05.2016
int? ist doch nur die Kurzschrweibweise für Nullable<int>, oder?
mph 04.05.2016
Moin,
schau mal in Deine Datenbank!
– Gast 06.05.2016
int? ist die Kurzschreibweise für Nullable<int> und wird auch so in der DB angelegt, der Fehler war nach einem Reboot weg! Warum - keine Ahnung :-(
mph 15.06.2016
1 Antwort
0
int? == Nullable<int>

Wird auch so in der DB angelegt, der Fehler war nach einem Reboot weg!
Warum - keine Ahnung :-(
15.06.2016
mph 227 1 6

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH