我是Castle ActiveRecord的新用户,现在我发现有必要执行涉及联接的select操作。我不知道该怎么做。
下面是我的两个(示例)类:
[ActiveRecord("Orders")]
public class Order : ActiveRecordBase<Order>
{
[PrimaryKey(PrimaryKeyType.Identity)]
public int OrderID { get; set; }
[Property]
public int UserID { get; set; }
[Property]
public DateTime OrderDate { get; set; }
[Property]
public string ShipName { get; set; }}
[ActiveRecord("Users")]
public class UserAccount : ActiveRecordBase<UserAccount>
{
[PrimaryKey(PrimaryKeyType.Identity)]
public int UserID { get; set; }
[Property]
public string FirstName { get; set; }
[Property]
public string LastName { get; set; }}
现在,如果我想获得所有订单,以及UserAccount.FirstName和UserAccount.LastName,我该怎么做?根据我的理解,我需要创建另一个类似于"OrdersWithUserAccount“的类,但我不知道如何定义它。
谢谢你帮了一个菜鸟!
发布于 2011-06-28 21:22:02
你读过Castle ActiveRecord tutorial了吗?
我注意到的一件事是,你没有对象关系,而是键关系。要以预期的方式使用NHibernate和Castle ActiveRecord,您的对象模型应该具有对象之间的关系。
这意味着您的Order类应该有一个指向UserAccount实例的User属性。您的UserAccount类应该有一个Orders集合。根据我的经验,这通常应该是一个ISet<Order>,您可以在UserAccount构造函数中将其初始化为HashedSet<Order>。
https://stackoverflow.com/questions/6386237
复制相似问题