EntityFramework C#コードの一部をVB.NETに移植したいと思います。別のオンラインコードコンバーターを試していますが、この問題を解決できません。
私にはこれらの2つの機能があります。
public List<T> Find<T>(Func<T, bool> predicate) where T : class
{
var objectSet = db.CreateObjectSet<T>();
return objectSet.Where<T>(predicate).ToList();
}
public void Delete<T>(Func<T, bool> predicate) where T : class
{
var objectSet = db.CreateObjectSet<T>();
IEnumerable<T> records = from x in objectSet.Where<T>(predicate) select x;
foreach (T record in records)
{
objectSet.DeleteObject(record);
}
}
今、コンバーターは私にこれを教えてくれます:
Public Function Find(Of T As Class)(predicate As Func(Of T, Boolean)) As List(Of T)
Dim objectSet = db.CreateObjectSet(Of T)()
Return objectSet.Where(Of T)(predicate).ToList()
End Function
Public Sub Delete(Of T As Class)(predicate As Func(Of T, Boolean))
Dim objectSet = db.CreateObjectSet(Of T)()
Dim records As IEnumerable(Of T) = From x In objectSet.Where(Of T)(predicate) Select x
For Each record As T In records
objectSet.DeleteObject(record)
Next
End Sub
しかし、2つのエラーが発生します。どちらも次のobjectSet.Where<T>(predicate)
とおりです。
アクセス可能な'Where'がこの数の型引数を受け入れないため、過負荷の解決に失敗しました。