我想在EF4中关联两个实体类型,没有外键可用。没有外键的关联
是否有任何手动调整我可以做,所以当我打开的顺序一个实例,我得到这样的:
order.orderID = 455
order.date = 2012-08-12
order.OrderItems = <List>OrderItem // OrderItem being the other entity I want to map on order
我想我要当我选择(手动执行此操作)的命令并设置它的OrderItems属性,因为没有FKs可用。
我在正确的轨道上吗?
**编辑:
我能够创建订单和的OrderItems之间的关联,这里是我有一个顺序的选择()方法:
public Order Select(long orderID)
{
using (var ctx = new BillingSystemEntities())
{
var res = from n in ctx.Orders
where n.OrderID == orderID
select n;
if (res.Count() == 0)
return null;
else
return res.First();
}
}
根据SQL事件探查器,EF是不在OrderItem表上进行任何JOIN。我想我需要将它们加载到我自己的OrderItems导航属性中?
如果你不使用外键,你怎么了'OrderItem'关联到'Order'? – CodingGorilla
即使数据库没有这样配置,您也可以告诉EF列是外键。 – cadrell0
cadrell0是对的。我有两个表共享列(orderID),所以应用程序可以链接两行的行。它只是没有在数据库中配置。 –