Comment définir la clé étrangère dans EntityTypeConfiguration Classe
J'ai juste commencé à faire EntityTypeConfiguration classe et a fait à la suite
public class Xyz
{
public int PlaceId { get; set; }
public string Name { get; set; }
public DbGeography Location { get; set; }
public int HumanTypeId { get; set; }
public int AddressId { get; set; }
}
et dans EntityTypeConfiguration classe
public sealed class XyzConfiguration:EntityTypeConfiguration<Xyz>
{
public XyzConfiguration()
{
ToTable("Place", "dbo");
HasKey(p => p.PlaceId);
Property(p => p.PlaceId)
.HasColumnName("PlaceId")
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
Property(p => p.Name);
Property(p => p.Location). ;
Property(p => p.HumanTypeId);
Property(p => p.AddressId);
}
}
Maintenant comment définir DbGeography
et les colonnes de clé étrangère HumanTypeId , AddressId
?
Merci d'avance
OriginalL'auteur Ancient | 2013-09-15
Vous devez vous connecter pour publier un commentaire.
Cela dépend de ce que vous allez faire avec les colonnes. Si vous avez des colonnes de clé étrangère comme
AddressId
, vous avez probablement quelquesAddress
entités que vous souhaitez associer à votreXyz
entités. Vous devez décider comment les entités se rapportent les uns aux autres, et de configurer le mappage que vous voulez entre eux.Vous aurez besoin d'une propriété de navigation dans votre
Address
classe, ou votreXyz
classe, sinon il n'y a pas quelque chose à lier la clé étrangère, et de vos ID étranger colonnes voudrais juste être traités comme normal colonnes (ce qui est bien, si c'est ce que vous voulez).Donc, si votre ont pour ajouter une propriété de navigation à votre
Xyz
entitéVous pouvez configurer le mappage par faire quelque chose le long de ces lignes (il varie selon la relation:
Je n'ai pas essayé à l'aide de types spatiaux et de l'EF, mais j'aimerais commencer ici: http://msdn.microsoft.com/en-us/data/hh859721.aspx
Il y a une mine d'informations sur la cartographie des configurations de mise en route avec EF pages: http://msdn.microsoft.com/en-us/data/ee712907 essayer "API Fluent - Configuration/Mapping Propriétés & Types"
Il y a aussi un peu abrégée explication des différents types d'associations ici:
Le Premier Code: associations Indépendantes contre les associations de clé Étrangère?
DbContext
pour configurer l'entité et à l'aide deEntityTypeConfiguration
?Salut, je n'ai pas travaillé avec EF pour un couple d'années, donc mes connaissances sont un peu rouillé. Je ne peux pas immédiatement recal configuration des mappages avec DbContext, est-il un exemple particulier, vous êtes en train de regarder?
Il n'a pas d'importance où vous configurez votre entités. Si vous préférez le faire dans votre remplacement OnModelCreating méthode, fondamentalement, vous devrez écrire le même code. Dans ce cas, il serait quelque chose comme modelBuilder.Entité<Xyz>().Carte(..... etc, etc. J'aime mieux avoir des fichiers individuels par les Modèles. Imaginez si vous aviez plus de 100 modèles et de toutes vos mappages sont écrites à l'intérieur que OnModelCreating méthode... LONG morceau de code.
OriginalL'auteur Chris