代码之家  ›  专栏  ›  技术社区  ›  Martin

nhibernate:如何将我手动创建的列表添加到nhibernate中?

  •  0
  • Martin  · 技术社区  · 14 年前

    我已经创建了一个产品列表——也就是用代码手工列出的列表。

    是否可以与NHibernate一起发送产品列表,并让它自动添加详细信息。

    product类的属性是数据库上的自动增量ID。

    我的定义是这样的

      public virtual int Id { get; set; }
    

    当然,这是数据库中的一个自动增量字段,所以我应该在对象(标准C类)上将它设置为什么,以便它导入数据库。

    如果可能的话。

    在我的映射中,它的设置是这样的

    <class name="Product">
      <id name="Id" column="ProductID">
        <generator class="assigned" />
      </id>
    <property name="Name" />
    <more property names are here.............>
    

    我认为这是可能的,但我在理解如何将我的产品模型(列表)的集合发送给nhibernate以便自动插入时遇到了问题。

    有什么帮助真的很感激

    编辑

    我想澄清一下我在做什么……我有一个基本上是实体的产品类。我已经创建了许多产品,它们都在这样的列表中

    因此,对于产品集合,我希望批量将它们插入数据库。

    并澄清数据库的productID字段是自动生成的,因此,在技术上如何将类的ID设置为将要插入的ID,数据库将处理该字段。

    这是我的属性,它表示数据库中的ID

    公共虚拟int id_get;set;
    

    也许我应该把它设置为一个可以为空的int,然后我可以把它设置为空???????尽管我猜

    我希望我对自己解释得更好一点。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Michael Gattuso    14 年前

    foreach(Product p in ProductList){
      Session.SaveOrUpdate(p);
    }
    

    public void SaveOrUpdateAll(IEnumerable<Product> products){
      foreach(Product p in products){
        Session.SaveOrUpdate(p);
      }
    }
    

    <generator class="identity" />