C# 如何正确显示列表<;类别>;在ComboBox中,并使值成员指向选定的类对象?

C# 如何正确显示列表<;类别>;在ComboBox中,并使值成员指向选定的类对象?,c#,winforms,combobox,nhibernate-mapping,C#,Winforms,Combobox,Nhibernate Mapping,我正在使用C#winform和Nhibernate作为ORM开发简单的概念教授 只需添加一项就可以了。每个项目都有一个类别表的外键 很抱歉,我无法上载类图的图像,我还不允许上载图像。 所以这些课程是 public class Category { public virtual Guid Id { get; set; } public virtual string Name { get; set; } public virtual string NameArabic { g

我正在使用C#winform和Nhibernate作为ORM开发简单的概念教授

只需添加一项就可以了。每个项目都有一个类别表的外键

很抱歉,我无法上载类图的图像,我还不允许上载图像。 所以这些课程是

public class Category
{
    public virtual Guid Id { get; set; }
    public virtual string Name { get; set; }
    public virtual string NameArabic { get; set; }

    public static bool AddCategory(Category category)
    {
        using (var session=NhibernateHelper.OpenSession())
        {
            using (var transaction=session.BeginTransaction())
            {
                session.SaveOrUpdate(category);
                transaction.Commit();
            }
            return true;
        }
    }

    public static IList<Category> GetAll()
    {
        using (var session=NhibernateHelper.OpenSession())
        {
            return session.QueryOver<Category>().List<Category>();
        }
    }
}

public class Item
{
    public virtual Guid Id { get; set; }
    public virtual string Description { get; set; }

    public virtual Category Category { get; set; }

    public static bool AddItem(Item item)
    {
        using (var session = NhibernateHelper.OpenSession())
        {
            using (var transaction = session.BeginTransaction())
            {
                session.SaveOrUpdate(item);
                transaction.Commit();
            }
            return true;
        }
    }
}
谢谢,用这个

YourComboBox.DataSource = YourList<Category>;
YourComboBox.DisplayMember = StringNameOfProperty;

我做对了吗?您想将完整列表绑定到组合框并显示guid吗?不,我想显示列表中的任何成员,比如name属性,我想要指向包含name属性的category对象的内容。因此,我可以将其传递给insert查询,这将不会导致复制类别条目。好的,我认为这应该适用于您:
YourComboBox.DataSource=List;YourComboBox.DisplayMember=StringNameOfProperty。以及使用
var x=(Category)YourComboBox获得的属性后面的项
    public CategoryMap()
    {
        Id(x => x.Id);
        Map(x => x.Name);
        Map(x => x.NameArabic);
    }

    public ItemMap()
    {
        Id(x => x.Id);
        Map(x => x.Description);
        References(x => x.Category);
    }
YourComboBox.DataSource = YourList<Category>;
YourComboBox.DisplayMember = StringNameOfProperty;
var item = (Category) YourComboBox.SelectedItem;