SORU
28 EKİM 2009, ÇARŞAMBA


Yazın Arabiriminin nesne artığını açılamıyor.Toplama.Jenerik.PersistentGenericBag Listesine

Bir sınıf ReportRequest olarak: aradım

public class ReportRequest
{
    Int32 templateId;
    List<Int32> entityIds;

    public virtual Int32? Id
    {
        get;
        set;
    }

    public virtual Int32 TemplateId
    {
        get { return templateId; }
        set { templateId = value; }
    }

    public virtual List<Int32> EntityIds
    {
        get { return entityIds; }
        set { entityIds = value; }
    }

    public ReportRequest(int templateId, List<Int32> entityIds)
    {
        this.TemplateId = templateId;
        this.EntityIds = entityIds;
    }
}

Akıcı Hazırda Beklet olarak kullanarak eşleştirilir

public class ReportRequestMap : ClassMap<ReportRequest>
{
    public ReportRequestMap()
    {
        Id(x => x.Id).UnsavedValue(null).GeneratedBy.Native();
        Map(x => x.TemplateId).Not.Nullable();            
        HasMany(x => x.EntityIds).Table("ReportEntities").KeyColumn("ReportRequestId").Element("EntityId").AsBag().Cascade.AllDeleteOrphan();
    }
}

Şimdi, bu sınıfın bir nesne yaratıyorum

ReportRequest objReportRequest = new ReportRequest(2, new List<int>() { 11, 12, 15 });

ve veritabanı nesnesi kullanarak kaydetmeye çalışın

session.Save(objReportRequest);

Aşağıdaki hatayı alıyorum: "Türündeki nesne artığını açılamıyor 'Arabiriminin.Toplama.Jenerik.PersistentGenericBag1[System.Int32]' to type 'System.Collections.Generic.List1[Sistemi.Int32]'."

Eğer bu özelliği doğru Entityİds liste yaptım emin değilim. Kılavuzu lütfen.

Teşekkür ederim!

CEVAP
28 EKİM 2009, ÇARŞAMBA


Beton koleksiyonları yerine toplama arayüzleri kullanın, Arabiriminin kendi toplama uygulaması ile enjekte böylece.

Bu durumda, List<int> yerine IList<int> kullanın

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • gsmaestro

    gsmaestro

    17 AĞUSTOS 2006
  • LAHWF

    LAHWF

    5 Kasım 2009
  • Semantic Mastery

    Semantic Mas

    30 EKİM 2013