J'ai une classe agrégée qui contiendra une collection d'une autre classe, mais cette classe n'existera jamais dans une collection sur cet agrégat, donc je n'ai pas besoin pour une identification sur elle dans mon code, ou un besoin d'une référence à l'agrégat. Par exemple:Clé implicite pour une relation un-à-plusieurs dans le code EF d'abord
public class SalesListing
{
public Guid Id { get; set; }
public ICollection<LocalizedDescription> Descriptions { get; set; }
}
public class LocalizedDescription
{
public string CultureCode { get; set; }
public string Title { get; set; }
}
Je voudrais simplement déclarer la clé de la classe LocalizedDescription
comme une combinaison de SalesListingId
et CultureCode
sans créer une propriété SalesListingId
ou renvoi à SalesListing
. Un moyen de le faire avec EF 5.0?
Par exemple, voici un exemple que j'imagine une telle API ressemblerait si elle existe:
modelBuilder.Entity<LocalizedDescription>().BelongsTo<SalesListing>(s => s.Description)
.WithKey((s, ld) => new { s.Id, ld.CultureCode })
« Cela dit, je pense que vous r l'aigrette ne définit pas une clef primaire entière "- je sais, donc je veux le dire" hey, LocalizedDescriptions appartiennent à SalesListing, donc faites une clé basée sur SalesListingId et CultureCode "mais j'essaye d'être puriste ici et ne pas encombrer mes objets avec RMDB détails. –
Ouais le simple '.WithRequired()' ne fonctionne pas - il exige une clé étrangère –