我需要一个Linq查询,如果并非所有行都在List<string>
内为每个hardware_id列匹配字符串,则返回null。
我有下表:
我有一个包含短语的List<string>
。如果列表中的所有短语在名称行中都有匹配的字符串,我希望查询返回hardare_id编号。如果其中一个短语没有name
匹配,则返回null并且如果所有短语的每个hardware_id都存在所有短语,则查询应该返回hardware_id的列表,每个hardware_id的列表,与列表中的所有短语完全匹配。
或者换句话说,返回每个ID的hardware_id
列表,其name
的所有List<string>
与public Uri addScheduleToCalender(String title,String place,String description) {
long calID = 3;
long startMillis = 0;
long endMillis = 0;
Calendar beginTime = Calendar.getInstance();
beginTime.set(2016, 7, 22, 17, 30);
startMillis = beginTime.getTimeInMillis();
Calendar endTime = Calendar.getInstance();
endTime.set(2016, 7, 22, 18, 45);
endMillis = endTime.getTimeInMillis();
ContentValues values = new ContentValues();
values.put(CalendarContract.Events.EVENT_LOCATION, place);
values.put(CalendarContract.Events.DTSTART, startMillis);
values.put(CalendarContract.Events.DTEND, endMillis);
values.put(CalendarContract.Events.TITLE, title);
values.put(CalendarContract.Events.DESCRIPTION, description);
values.put(CalendarContract.Events.CALENDAR_ID, calID);
values.put(CalendarContract.Events.EVENT_TIMEZONE, "UTC/GMT +2:00");
Uri uri;
if (Build.VERSION.SDK_INT >= 8) {
uri = Uri.parse("content://com.android.calendar/events");
} else {
uri = Uri.parse("content://calendar/events");
}
Uri l_uri = MainActivity.this.getContentResolver()
.insert(uri, values);
return l_uri;
}
中的void setHW(uint32_t val) {
uint32_t reg;
asm volatile (
mrc 15, 0, %[reg], ...
orr %[reg], %[reg], %[val]
mcr 15, 0, %[reg], ...
:[reg]"=&r"(reg) :[val] "r"(val) :
);
}
匹配。
我考虑过在不同的查询中迭代每个Id,但这不是一种有效的方法。也许你知道一个很好的查询来解决这个问题。 我正在使用Entity Framework 6 / C#/ MySQL
注意:查询仅按用户ID进行。所以我先用User Id过滤表,然后找到满足条件的匹配hardare_id。
答案 0 :(得分:1)
在hardware_id
上分组,然后查找List
table.GroupBy(x=>x.hardware_id)
.Where(x=> x.All(s=> phrases.Contains(s.name))
.Select(x=>x.Key);