【问题标题】:NHibernate foreign key setNHibernate 外键集
【发布时间】:2011-07-01 10:16:37
【问题描述】:

我有一个:

class Garage {
    int garageID;
    ISet<Car> cars
}

汽车类是否应该将garageID 作为其属性之一,如:

class Car {
   int carID;
   int garageID;
   String name;
}

这就是它在数据库中的显示方式,但想知道多端的类是否应该将外键作为属性,或者 ORM 是否只是在执行 SQL 时添加它(假设您可以在映射文件)。

【问题讨论】:

    标签: nhibernate


    【解决方案1】:

    简而言之:不。(是的,ORM 将根据您的映射文件处理 FK)

    “汽车”表中将包含 GarageId,但您不应将其添加到 Car 类中。

    可以建立双向关系(尽管对于这是否是一个好主意意见不一)。

    双向关系会使 Car 类看起来像这样:

    public class Car {
         public virtual int Id {get; set;}
         public virtual Garage Garage {get; set;}  //You can traverse back up to Garage
         public virtual string Name {get; set;}
    }
    

    如果您希望我发布 Fluent/XML 地图,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多