У меня, кажется, есть серьезные проблемы с установлением отношений один ко многим для работы в nhibernate
и мои классы
public class Kitten
{
public virtual int? Id { get; set; }
public virtual String Name { get; set; }
}
public class Product
{
public Product()
{
Kittehs = new List<Kitten>();
}
public virtual int? ProductId { get; set; }
public virtual string ProductName { get; set; }
public virtual UnitOfMeasure UOM { get; set; }
public virtual IList<Kitten> Kittehs { get; set; }
}
А вот моя сниппет-программа:
Первый:
public class ProductRepository
// snip
public void Save(Product saveObj)
{
using (var session = GetSession())
{
using(var trans = session.BeginTransaction())
{
session.SaveOrUpdate(saveObj);
trans.Commit();
}
}
}
, а затем вызывающий код:
var pNew = new Product { ProductName = "Canned Salmon" ,UOM = uomBottle};
var tiddles = new Kitten() {Name = "Tiddles"};
pNew.Kittehs.Add(tiddles);
productRepository.Save(pNew); //ERROR here
Когда я вызываю productRepository.Save
Я получаю
{"Тип NHibernate.Collection.Generic.PersistentGenericSet1 [Acme.Model.Kitten] не может быть назначен свойству типа System.Collections.Generic.IList1 [Acme.Model.Kitten] сеттера Acme.Model. Product.Kittehs "}
поэтому я предполагаю, что отображение как-то не так, но я не вижу, где.