2010-06-01 119 views
0

我只是使用Subsonic编写我的第一个“Hello World”程序,为此我将一个简单的小客户/发票/ InvoiceItem/Product数据库放在一起。subsonic外键返回集合?

连接已成功完成到数据库,并生成了所有类ActiveRecord类。但由于某些原因,Invoice类有一个名为Customers的属性,该属性返回Customer对象的集合,即使Invoice表具有CustomerID字段,该字段对Customer表具有外键。我本来预计Customer财产将返回一个单一的Customer对象。

我所有的FK都发生同样的事情。我一定在做错事 - 但是什么?

回答

1

这是预期的行为。 Invoice.Customers集合中的第一个(也是唯一)项目将是与外键相关的Customer对象。

+0

为什么会出现这种预期行为?我来自内置的Linq-To-SQL O/R设计器,并且按照我所描述的方式产生了“预期行为”。你不得不承认这样做更合乎逻辑,不是吗?很明显,这里有一些技术问题,迫使一个相当可笑的解决方法 - 但为什么? – 2010-06-01 16:55:34

+0

我不知道为什么这是如何在SubSonic 3中实现的。如您所述,SubSonic 2会生成Invoice.Customer字段。但是,您可以在T4模板中自行添加此字段。 – sparks 2010-06-01 17:01:41