הסבר
כל נושא ה odata די חדש בשבילי, אני כל פעם בודק אותו, מקבל סטירה שמשהו מאד יסודי לא עובד, ועוזב וחוזר לפתרונות אחרים.
את הקונטרולרים אני יוצר אוטומטית על ידי ה scaffold של VS . ולא אשקר לך שאת כל הקוד שם אני מבין. אבל קטע ה linq שם הוא מאד פשוט, ואין בעיה להוסיף לו where קטן, בדיוק מה שאני צריך שם. (וזה בדיוק מה שכתבת, לא?)
כן, אפשר לעשות משהו גנרי, baseController שיעשה את הפילטור הזה, ולרשת ממנו.
 
אגב, משהו שלמדתי מניסיון מר ואחרי ימים רבים מבוזבזים: webapi רגיל, ו odata - הם כנראה כמו מים וחשמל. לא טוב לערבב, התוצאות לא טובות ולא צפויות. בגים על כל צעד ושעל, והודעות שגיאה מוזרות ובלתי צפויות. אם יש לך בפרויקט odata - תן לו פרויקט משלו, ונפרד מהפרויקט בו אתה מחזיק webapi . הם יכולים להיות כמובן תחת אותו סולושן. למעוניינים יש לי מאמר שמסביר איך כן לגרום להם לעבוד ביחד באותו project - אבל זה טריקי.