在一个Datagridview中组合来自不同表的数据

时间:2014-03-10 08:48:09

标签: c# winforms nhibernate datagridview

条件:

  1. 列表项
  2. .net 2.0
  3. 的WinForms
  4. Nhibernate的
  5. 我有2个班级

    public class Recipes
    {
        public virtual int Id { get; set; }
        public virtual Products Product { get; set; }
        public virtual double Weight { get; set; }
    }
    
    public class Products
    {
        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual Double Cost { get; set; }
    }
    

    我使用Nhibernate来加载来自数据库的数据

    IList<Recipes> recipesList = DbSession.CreateCriteria(typeof(Recipes)).List<Recipes>();
    IList<Products> productsList = DbSession.CreateCriteria(typeof(Products)).List<Products>();
    

    如何在一个Datagridview中将recipesList和productsList与编辑的可能性结合起来?

2 个答案:

答案 0 :(得分:0)

非常标准的方法是创建另一个类,如:

public class dgvRecipeProducts
{
  IList<Recipes> recipesList { get; set; }
  IList<Products> productsList { get; set; }
}

并将其用作介体来填充视图,然后将其返回到后端,您可以在其中正确操作它以镜像数据库模型。

答案 1 :(得分:0)

单向创建一个ViewModel

public class ProductsRecipes
{
    public virtual int Id { get; set; }
    public virtual int ProductId { get; set; }
    public virtual string ProductName { get; set; }
    public virtual Double ProductCost { get; set; }
    public virtual double Weight { get; set; }
}