Reputation: 241
Trying to do a:
var list = new List<MyType>();
list.Add(new MyType() { PK1 = 1, PK2 = 2 });
list.Add(new MyType() { PK1 = 1, PK2 = 3 });
Database.Open().MySchema.MyTable.Upsert(list);
Nothing seems to happen, do i need to do a foreach or can i achieve this some how?
Upvotes: 4
Views: 1227
Reputation: 191
This will work, or any other enumeration of the result.
Database.Open().MySchema.MyTable.Upsert(list).ToArray();
Although it will not generate a batch SQL query, there will be a lot of queries to the database, at least for SQL Server.
Upvotes: 5
Reputation: 12956
Does
Database.Open().MySchema.MyTable.Upsert( new MyType { PK1 = 1, PK2 = 2 } );
work?
ToArray() -
var list = new List<MyType>();
list.Add(new MyType() { PK1 = 1, PK2 = 2 });
list.Add(new MyType() { PK1 = 1, PK2 = 3 });
Database.Open().MySchema.MyTable.Upsert(list.ToArray());
Upvotes: 1