我必须获取像这样的对象
var fetchedObject = ds.Products.Find(id);
但我还需要添加Include(),因为Products包含一个Supplier对象。我给出的代码就像
var fetchedObject = ds.Products.Include(“Supplier”).SingleOrDefault(i => i.Id == id);
我如何将两者结合起来,同时也包括(“供应商”)?
答案 0 :(得分:0)
我不明白你的问题是什么?您的第二行代码是“查找”具有该ID的对象,还包括供应商。我想你可能会误解Include的作用。包含意味着它只会进行一次数据库往返,并将检索导航属性“Supplier”,以便通过执行操作在下一行中查询:
var supplier = fetchedObject.Supplier;
或者你想用它做什么。你尝试过第二行吗?
如果您没有在那里编写include子句,那么将对lached对象的供应商进行延迟评估。这意味着如果您决定使用供应商,则必须再次访问数据库。
答案 1 :(得分:0)
你做不到。 Find
做了一些与Include
之类的内容冲突的优化。也就是说,如果已经从数据库中提取了查询,则find将始终从本地存储返回该对象而不发出查询。