我正在使用NHibernate进行一些测试,我目前有两个映射实体,Orders和Products.一如既往,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) 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[]定位的定义在哪里?