Domanda

Ho la seguente classe:

public class Address
{
    public virtual int Id { get; private set; }

    public virtual IList<string> AddressLines { get; set; }

    public virtual string CityOrTown { get; set; }

    public virtual string County { get; set; }

    public virtual string Postcode { get; set; }

    public virtual string Country { get; set; }

    public virtual Member Member { get; set; }

    public Address()
    {
        AddressLines = new List<string>();
    }

    public virtual void AddAddressLine(string addressLine)
    {
        AddressLines.Add(addressLine);
    }
}
.

e la seguente classe di mappatura:

public AddressMap()
{
    Id(x => x.Id);
    HasMany(x => x.AddressLines).Element("AddressLine");
    Map(x => x.CityOrTown);
    Map(x => x.County);
    Map(x => x.Postcode);
    Map(x => x.Country);
    References(x => x.Member);
}
.

La tabella 'Addresslines' è creata con due colonne 'indirizzo_id' e 'indirizzamento' con una chiave straniera per la tabella 'Indirizzo'.

Per qualche motivo quando viene salvato un indirizzo, la collezione 'Addresslines' non è persiste al database;

Sono manca qualcosa?

Non sembra esserci una grande quantità di informazioni là fuori per la mappatura delist.Sono consapevole del fatto che questo non è stato possibile essere possibile perché la stringa è il tipo di valore non un tipo di entità, ma sono portato a credere che ora dovrebbe essere possibile?

È stato utile?

Soluzione

HasMany(x => x.AddressLines).Element("AddressLine").Cascade.AllDeleteOrphan();

Altri suggerimenti

You need to set a default cascade convention.

When using Automapping, it's done as follows:

            AutoMap.Assemblies(_assemblies)
                .Conventions.Add(
                    // Do cascading saves on all entities so lists  will be
                    // automatically saved 
                    DefaultCascade.All(),
                );

As far as I know, you can do the same thing with mapping classes, but I don't know the exact syntax.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top