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

  • foreignimage

    foreignimage

    13 HAZİRAN 2006
  • Sarah's YouTube Channel

    Sarah's YouT

    27 Temmuz 2009
  • Tylerron

    Tylerron

    6 AĞUSTOS 2006