閱讀本標題爲「使用ObjectSet(實體框架)」的MSDN文章它顯示了有關如何添加產品的兩個示例..一個用於3.5,另一個用於4.0。3種通過實體框架添加「產品」的方法。有什麼不同?
http://msdn.microsoft.com/en-us/library/ee473442.aspx
通過我的知識缺乏的我在這裏很可能完全失去了一些東西,但我從來沒有加入像這樣的產品:
//In .NET Framework 3.5 SP1, use the following code: (ObjectQuery)
using (AdventureWorksEntities context = new AdventureWorksEntities())
{
// Add the new object to the context.
context.AddObject("Products", newProduct);
}
//New in .NET Framework 4, use the following code: (ObjectSet)
using (AdventureWorksEntities context = new AdventureWorksEntities())
{
// Add the new object to the context.
context.Products.AddObject(newProduct);
}
我不會做它無論哪種方式,只是使用:
// (My familiar way)
using (AdventureWorksEntities context = new AdventureWorksEntities())
{
// Add the new object to the context.
context.AddToProducts(newProduct);
}
這三種方式有什麼區別?
「我的方式」是使用ObjectQuery的另一種方式嗎?
感謝, 鋼鈑
ObjectSet被緩存在默認的代碼生成器中。 所以我猜想使用context.Products.Add會有一些輕微的性能提升,因爲它可以重新使用相同的集合而不用任何查找。 – 2010-05-11 15:11:15
優秀。非常感謝您向我解釋這一點。事實證明,這比我想象的要簡單得多。我真的應該更頻繁地檢查所有這些生成的文件,以便更好地理解幕後發生的事情。我現在看一看,看看還有哪些事情正在發生! – 4imble 2010-05-11 16:17:34
*非常值得閱讀codegen文件。即使你沒有寫,也可以隨時使用這些代碼。 – 2010-05-11 17:19:43