一个例子:(红色的是伪代码)
var warehouse = NHibernate Get From DB;
var result = warehouse.InventoryItems.FirstOrDefault(a => a.TargetId == skuItemId);
//或者 var result = warehouse.InventoryItems.Where(a => a.TargetId == skuItemId).FirstOrDefault()
对比:
var result = From InventoryItem in NHibernate Session Where InventoryItem.TargetId == skuItemId Select InventoryItem
上面一种写法在数据量大的时候,会查出大量数据,再在C#里过滤拿出符合条件的。
二后面一种,直接拿出符合条件的。