J'ai eu un problème avec le code d'abord et la base de données SQL générée.EF ajoute un FK déjà défini
Est une application sur les taureaux et les vaches
Voici mes classes:
public class Animal : BaseEntity
{
public virtual int? DeathId { get; set; }
public virtual Death Death { get; set; }
public virtual int? SellId { get; set; }
public virtual Sell Sell { get; set; }
}
public class Death : Event
{
public virtual int AnimalId { get; set; }
public virtual Animal Animal { get; set; }
}
public class Sell : Event
{
public virtual int AnimalId { get; set; }
public virtual Animal Animal { get; set; }
}
qui génère ce script sql:
create table [dbo].[Animal] (
[Id] [int] not null identity,
[DeathId] [int] null,
[SellId] [int] null,
primary key ([Id])
);
create table [dbo].[Death] (
[Id] [int] not null,
[AnimalId] [int] not null,
primary key ([Id])
);
create table [dbo].[Sell] (
[Id] [int] not null,
[AnimalId] [int] not null,
primary key ([Id])
);
Tout normal, mais le problème est avec ces classes :
public class Servicie : Event
{
public virtual int MaleId { get; set; }
public virtual Male Male { get; set; }
public virtual int FemaleId { get; set; }
public virtual Female Female { get; set; }
public virtual int? ChildbirthId { get; set; }
public virtual Childbirth Childbirth { get; set; }
}
public class Childbirth : Event
{
public virtual int ServicieId { get; set; }
public virtual Servicie Servicie { get; set; }
public virtual int FemaleId { get; set; }
public virtual Female Female { get; set; }
}
Ces classes génèrent ce script Sql:
create table [dbo].[Service] (
[Id] [int] not null,
[MaleId] [int] not null,
[FemaleId] [int] not null,
[ChildbirthId] [int] null,
primary key ([Id])
);
create table [dbo].[Parto] (
[Id] [int] not null,
[Servicie_Id] [int] not null,
[ServicieId] [int] not null,
[FemaleId] [int] not null,
primary key ([Id])
);
Comme vous pouvez le voir, il y a "ServicieId" et "Servicie_Id", le dernier, auto ajouté.
Tous sont de 1 à 0..1 relations et je ne vois pas de différence, quelqu'un peut-il m'aider?
S'il vous plaît et simplifier traduisons votre exemple de code. Je ne peux pas vraiment le dire, mais je peux faire une bonne supposition que la plupart ne sont pas pertinentes à votre question. (Comme tout le code pour les entités qui fonctionnent comme vous voulez.) – millimoose
Traduit! Dites-moi si vous comprenez plus maintenant –