在我的对象中,我有3个属性:
public String PlaceName{ get; set; }
public Int32 PlaceId { get; set; }
public Boolean IsChecked { get; set; }
我有一个结果,从我的数据库返回5行(SQLPlaceALL)。
我总是希望显示这5个结果。但是,当我选择联系人时,该联系人可能会在返回的结果中有一个或多个这些位置(sqlPlaceResults)。
放置D
var popPlace = from places in sqlPlaceResults.AsEnumerable()
join placeAll in sqlPlaceResultsAll.AsEnumerable()
on places["PLACEID"] equals placeAll["PLACEID"]
select new Place
{
PlaceName = places["NAME"].ToString(),
PlaceId = (Int32)places["PLACEID"],
Ischecked = true
};
当我这样做时,popPlace只包含sqlPlaceResults包含的3个项目。我希望我的显示器做这样的事情:
答案 0 :(得分:1)
答案 1 :(得分:1)
这样的事情应该有效。您想要查询所有地点,并根据是否有匹配的IsChecked
设置sqlPlaceResults
。
var popPlace =
from placeAll in sqlPlaceResultsAll.AsEnumerable()
select new Place
{
placeName = regions["NAME"].ToString(),
PlaceId = (Int32)regions["PLACEID"],
Ischecked = sqlPlaceResults.AsEnumerable().Any(
places => places["PLACEID"] == placeAll["PLACEID"])
};