我的問題的拳頭部分 一些幫助假設我有一個POCO類通過Linq獲取大量記錄的有效方法。另外,關於編輯現有數據庫條目
public class shop{
public virtual string fruitName {get;set;}
public virtual double numberOfFruitsLeftToConsume {get;set;}
public virtual double numberOfFruitsLeftForStorage {get;set;}
public virtual List<Locations> shopLocations {get;set;}
}
我在數據庫中創建店鋪的新對象添加新的水果,然後將其添加通過我的上下文然後保存它。 現在檢索數據 對於我來說,首先通過水果名稱進行過濾來獲得一個List,然後在該集合中運行我的查詢以根據要消耗的水果數進行排序,或者我應該將它全部放入一個查詢。假設該網站的點擊次數超過1000次/秒,並且數據庫數量巨大,哪種方法效率更高。
List<shop> sh = context.shopDB.Where(p => p.fruitName == "mango" &&
p.fruitName == "apple").ToList();
List<shop> sh = sh.Where(f => f.numberOfFruitsLeftToConsume >= 100 &&
f.numberOfFruitsLeftForStorage <= 100).ToList();
該示例沒有意義,我只是想顯示我正在使用的查詢的類型。
我的問題的第二部分是,當我初始化類商店時,我不初始化其中的列表。稍後當我嘗試添加它時,它不會被保存,商店被連接到用戶。
ApplicationUser user = await usemanager.FindByEmailAsync("email");
if(user.shops.shopLocations == null){
user.shops.shopLocation = new List<Location>();
uset.shops.shopLocation.Add(someLocation);
await context.shopDB.SaveChangesAsync();
}
////already tried
//List<Location> loc = new List<Location>();
//loc.Add(someLocation);
//user.shops.shopLocation = loc;
//await context.shopDB.SaveChangesAsync();
我嘗試了try catch塊中的兩個方法,並且沒有拋出異常。
如果您需要更多詳細信息或者如果您不清楚,請詢問。
謝謝。
如果我將Location和LocationId屬性添加到購物中,然後保存,則只能查看LocationId,但Location屬性仍然爲空。 要清除任何問題,如果我保存一個位置單獨保存。所以我不認爲我提供了錯誤的數據。
LINQ使分頁非常簡單 - 請參閱[使用LINQ的大頁面結果集](https://msdn.microsoft.com/en-us/library/gg334684.aspx)。 – NightOwl888
您正在**排序**,但示例查詢執行**過濾**。那麼情況如何? –
@ NightOwl888是的我知道,我正在使用它們來設置不同課程的頁數。我無法使用它限制水果名稱的數量,因爲這不是意圖。 – hispeed