ich ein Problem habe: Ich habe Benutzer:nHibernate Vererbung Problem, wenn Childs Speichern
[Class(Table = "Users", Name = "User")]
public class User
{
[Id(0, Column = "UserId", Type = "Guid", Name = "Id")]
[Generator(1, Class = "assigned")]
public Guid Id { get; set; }
[Property(Name = "Password", Column = "Password", Type = "String")]
public string Password { get; set; }
[Property(Name = "Email", Column = "Email", Type = "String")]
public string Email { get; set; }
}
Und eine Verteilmaschine:
[JoinedSubclass(ExtendsType = typeof(User), Table = "Distributors")]
public class Distributor : User
{
[Id(0, Column = "DistributorId", Type = "Guid", Name = "Identifier")]
[Generator(1, Class = "assigned")]
protected Guid Identifier { get; set; }
[Property(Name = "Company", Column = "Company", Type = "String")]
public String Company { get; set; }
}
Jetzt muss ich Benutzer zum Verteiler fördern. Aber ich muss seine ID speichern (andere Teile des Systems benutzen es). Ich bekomme Benutzer und neue Verteiler erstellen. Aber wenn ich versuche, Verteiler zu speichern, erhalte ich diesen Fehler:
ein anderes Objekt mit dem gleichen Bezeichner-Wert war bereits mit der Sitzung verbunden: ec6f6a9f-a236-4385-835c-7f408a5f594d, der Einheit: MLMCore. Entities.Distributor
ich habe tryed alle Methoden (speichern, SaveOrUpdade, SaveOrUpdateCopy, Update). Aber es funktioniert nicht. Irgendwelche Ideen, wie man es repariert?
Rollen sind im Design vorhanden. Aber ich brauche zusätzliche Felder für den Verteiler. Und die Vererbung wird verwendet, um die Entität breiter zu machen –
Ich sehe. Aber warum nicht Ihre Rolle abstrakt machen und die Spezialisierungen mit irgendwelchen spezifischen Daten für diese Rolle begleiten? – mookid8000
Leider es ist unmöglich, den Entwurf zu ändern, ich brauche Lösung in dieser Situation finden :( –