Lars Stenberg
Lars Stenberg

Reputation: 241

Upsert a list with Simple.Data

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

Answers (2)

Jakob Rasmussen
Jakob Rasmussen

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

Sam Leach
Sam Leach

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

Related Questions