条件に一致する指定されたテーブルのすべてのエントリを削除するメソッドを構築しようとしています。
public void DeleteAll(Expression<Func<T, bool>> condition)
{
var service = PluralizationService.CreateService(new CultureInfo("en-US"));
var tableName = service.Pluralize(typeof(T).Name);
Context.Database.ExecuteSqlCommand(string.Format("DELETE FROM {0} WHERE {1}", tableName, condition));
}
ラムダ式として指定された条件を、WHERE句の後に適合する意味のあるSQL構文に適切に変換できないため、現在これは機能していません。手動でいくつかのことを行うことができますが、.NETFrameworkで提供される手段でそれを行う方法があるかどうか疑問に思いました。