小编Tho*_*ena的帖子

为什么NHibernate在添加一个项目时会删除并重新创建集合中的所有关联?

我正在使用NHibernate进行一些测试,我目前有两个映射实体,OrdersProducts.一如既往,Order有一系列产品,我将其映射为:

<bag name="Products" cascade="all" lazy="true">
  <key column ="Order_ID" />
  <many-to-many class="Product" column="Product_ID" />
</bag>
Run Code Online (Sandbox Code Playgroud)

在C#方面:

public virtual IList<Product> Products
{
    get { return _Products; }
    set { _Products = value; }
}
private IList<Product> _Products = new List<Product>();
Run Code Online (Sandbox Code Playgroud)

如果我在数据库中有一个持久订单(约翰的订单),其产品集合中有一些项目(苹果,橙子和椰子),我尝试在集合中添加一个新项目(香蕉)我可以看到从NHibernate做的事情的SQL输出:

INSERT INTO Products_Table (Product_Name, Product_ID) VALUES ('Banana', @Banana_ID)
DELETE FROM Products WHERE Order_ID = @Johns_Order_ID
INSERT INTO Products (Order_ID, Product_ID) VALUES (@Johns_Order_ID, @Apple_ID)
INSERT INTO Products (Order_ID, Product_ID) VALUES …
Run Code Online (Sandbox Code Playgroud)

c# nhibernate nhibernate-mapping

7
推荐指数
1
解决办法
1661
查看次数

int []和string []类在哪里定义?

int a = 0;
int[] b = new int[3];

Console.WriteLine( a.GetType() );
Console.WriteLine( b.GetType() );
Run Code Online (Sandbox Code Playgroud)

的类型一个System.Int32它是一个结构.b的类型是int[].

我可以Int32在Visual Studio中看到它的定义.int[]定位的定义在哪里?

c# arrays string int

6
推荐指数
1
解决办法
135
查看次数

标签 统计

c# ×2

arrays ×1

int ×1

nhibernate ×1

nhibernate-mapping ×1

string ×1