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

  • Damien Walters

    Damien Walte

    20 AĞUSTOS 2006
  • Chaîne de TheMoustic

    Chaîne de T

    5 Kasım 2006
  • Tire Rack

    Tire Rack

    31 Mayıs 2007