1
我希望在實體框架中執行查詢時使用本地跟蹤的實體在數據庫之前進行搜索時。我寫了一個複雜的例程來填充存儲庫/數據庫,現在當我使用實體框架時,它不會使用已經添加但尚未保存的實體。因此,這段代碼只能將一個類別添加到數據庫中,而不是添加n。實體框架查詢本地默認
using (Db Db = new Db()) {
for (int i = 0; i < 10; i++) {
Category Category = Db.Categories.SingleOrDefault(x => x.Name == "Hello");
if (Category == null) {
Category = Db.Categories.Create();
Category.Name = "Hello";
Db.Categories.Add(Category);
Console.WriteLine("Adding item...");
}
}
}
我該如何去做這件事?我有一個抽象,它允許我從IQueryable中更改提供者,我嘗試使用它來首先訪問Local集合。我沒有成功。請幫忙。
我很好奇。您將如何計劃查詢尚未保存的實體?任何數據庫生成的id都是0,因爲它們還沒有被創建。所以沒有身份。當然,你可以查詢其他的東西,但它看起來很蹩腳而且很差。爲什麼不保留自己的項目集合並將linq用於對象呢? – 2012-08-08 22:50:37