为实体设置外部关系的首选方法是什么?

时间:2010-07-23 07:14:33

标签: database asp.net-mvc-2 foreign-key-relationship

Product product = new Product() {
    Category = category
};

_session.CommitChanges();

VS

Product product = new Product() {
    Category.ID = category.ID
};

_session.CommitChanges();

有什么区别?哪一个使用?两者似乎都是有效的,并且正确保存在数据库中。

2 个答案:

答案 0 :(得分:0)

我只是传递Category.ID。

当对数据库执行查询时,传递给Product的唯一信息是Category ID,也就是说,这是将存储在DB中的信息(在每个Product行中)。

在窗帘后面,引擎知道生成SQL插入命令所需的字段,在这种情况下,保存产品时只需要Category.ID。这就是为什么无论你选择什么选项,保存操作总是成功的。

答案 1 :(得分:0)

始终使用第一个版本。这将确保所有关系处于它们应该处于的状态,因为关键字和内容由RelationshipManager分配和管理。