سؤال

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?

هل كانت مفيدة؟

المحلول

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.

نصائح أخرى

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());
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top