EF-code Eerste conventie om eigenschappen van ICollection <T> toe te staan ​​als lege verzamelingen in plaats van nul?

I've noticed that, by default, Entity Framework Code First neglects to instantiate ICollection properties unless there is at least one item in the collection. I would much prefer that the collection were guaranteed to always be an empty HashSet (i.e., a HashSet with zero items) rather than null if no items exist.

Is er een conventie of setting voor EF Code First die dit mogelijk zou maken?

3

1 antwoord

in de constructor van de entiteit die zojuist is ingesteld de verzameling instantiëren:

public sealed partial class EntityClass
{
    [SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors",
        Justification = "EF 4.1 requires them to be virtual, and RIA Services requires the collections to be instantiated.")]
    public EntityClass()
    {
        OtherEntities = new List();
    }

    public virtual ICollection OtherEntities { get; set; }
}

Het onderdrukkingsbericht is er voor FXcop.

10
toegevoegd
Schitterend, dank je!
toegevoegd de auteur devuxer, de bron