我的设置如下:
public class Customer
{
public virtual int ID { get; set; }
public virtual string Firstname { get; set; }
public virtual string Lastname { get; set; }
public virtual IList<Orders> CustomerOrders { get; set;}
}
我的映射如下所示:
<property name="FirstName" type="string" length="200" not-null="true"/>
<property name="Lastname " type="string" length="20" not-null="true"/>
<bag name="CustomerOrders" cascade="save-update" inverse="true">
<key column="CustomerID" on-delete="cascade" />
<one-to-many class="myassembly.CustomerOrders, myassembly" />
</bag>
一个简单的QBE将给first name和/或LastName一个值,并返回一个包含具有该first和/或LastName的客户的IList。
我要做的是将订单添加到CustomerOrders列表,从而生成如下查询:
select * from CustomerOrders c where FirstName = 'myfirstname' and LastName = 'mylastName' inner join Orders o on c.CustomerID = o.OrderID
where o.OrderName = 'myorderName' and o.OrderNumber = 'myordernumber'
在上面的示例中,OrderName和OrderNumber是Order类的属性(为了简洁起见,我没有包括这个类)。有人知道这是否可能吗?如果我需要澄清我的问题,请告诉我。基本上我能够填充基本值并将它们包含在QBE中。我可以对收藏做同样的事吗?