私は次の方法を持っています:
public List<Alert> GetMonthlyAlertsByAccountID(Int32 AccountID, params int[] alertTypes)
{
List<Alert> result = new List<Alert>();
using (NeuroLabLinqDataContext dc = conn.GetContext())
{
IEnumerable<Alert> alerts = (from a in dc.Alerts
where a.AccountID == AccountID &&
a.AlertTypeID.In(alertTypes)
orderby ((DateTime)a.CreateDate).Month ascending
select a).ToList();
}
return result;
}
それは拡張メソッドを使用します:
public static bool In<T>(this T t, params T[] values)
{
foreach (T value in values)
{
if (t.Equals(value))
{
return true;
}
}
return false;
}
これは、特定の AlertTypeID を持つアイテムのみを返すことを目的としています。
結果は次のとおりです。
メソッド 'Boolean In[Int32](Int32, Int32[])' は SQL への変換をサポートしていません。
拡張メソッドを使用しなくてもできることはあると思います。誰かが私を正しい方向に向けることができますか?
ありがとう。