Question

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?

Was it helpful?

Solution

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.

OTHER TIPS

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());
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top