亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過 id 列表獲取實體并檢查它們是否存在

通過 id 列表獲取實體并檢查它們是否存在

C#
慕妹3146593 2022-12-24 10:29:55
想象一下我有這樣的課程:// DTOpublic class RequestrDto{    public string Name { get; set; }    public ICollection<int> CityIds { get; set; }}// ENTITY// PLACEpublic class Place{    public int Id { get; set; }    public string Name { get; set; }    public List<City> Cities { get; set; }}// CITYpublic class City{    public int Id { get; set; }    public int? PlaceId { get; set; }    public string Name { get; set; }    public string Code { get; set; }    public List<City> Cities { get; set; }    public Place Place { get; set; }}我想檢查數據庫中是否存在城市并添加到新創建的實體類中,該實體類將被添加到數據庫中。所以,我可以這樣做:var placeEntity = new Place() {    Name = RequestrDto.Name;}var cities = _context.Cities.Where(x => request.CityIds.Contains(x.Id)).ToList();placeEntity.Cities.AddRange(cities);如何獲取城市并檢查它們是否在數據庫中?我知道我可以通過 foreach 對其進行迭代,但我正在尋找一種奇特的方式。
查看完整描述

1 回答

?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

您可以使用

產生兩個序列的集合差異。


var cities = _context.Cities.Where(x => request.CityIds.Contains(x.Id))

                            .ToList();


var ids = cities.Select(x => x.Id); 

var missing = request.CityIds.Except(ids);


// or


var missing = request.CityIds.Except(cities.Select(x => x.Id)); 


查看完整回答
反對 回復 2022-12-24
  • 1 回答
  • 0 關注
  • 96 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號