[ https://issues.apache.org/jira/browse/IGNITE-4904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16019722#comment-16019722 ]
Pavel Tupitsyn commented on IGNITE-4904: ---------------------------------------- {{CompiledQuery}} won't support this directly, since {{DeleteAll}} returns {{int}}, but we can invent something like {{CompileDelete}} as a separate task. > .NET: DML via LINQ > ------------------ > > Key: IGNITE-4904 > URL: https://issues.apache.org/jira/browse/IGNITE-4904 > Project: Ignite > Issue Type: New Feature > Components: platforms > Affects Versions: 1.9 > Reporter: Pavel Tupitsyn > Assignee: Pavel Tupitsyn > Labels: .NET, LINQ > Fix For: 2.1 > > > Perform bulk update operations via LINQ: {{UPDATE WHERE}}, {{DELETE WHERE}}. > Insert can already be done on object level with {{ICache.PutAll}}. > 1) {{DELETE WHERE}}. This is quite simple. We can provide an extension method > like this: > {code} > public static int DeleteAll<K, V>(this ICache<K, V> cache, > IQueryable<ICacheEntry<K, V>> items); > {code} > 2) {{UPDATE WHERE}}. This is tricky, because LINQ only works with expression > trees, and multi-line methods are not supported. We should come up with a way > to provide a list of columns and values, something like > {code} > public static int UpdateAll<K, V>(this ICache<K, V> cache, > IQueryable<ICacheEntry<K, V>> items, params UpdateAction[] actions); > {code} > where UpdateAction can consist of a MemberExpression and a value for that > member. > We should probably do delete as a separate task first. -- This message was sent by Atlassian JIRA (v6.3.15#6346)