C# 使用简单的.Data向上插入列表

C# 使用简单的.Data向上插入列表,c#,sql,simple.data,C#,Sql,Simple.data,正在尝试执行以下操作: 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); var list=newlist(); Add(新的MyType(){PK1=1,PK2=2}); Add(新的MyType(

正在尝试执行以下操作:

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);
var list=newlist();
Add(新的MyType(){PK1=1,PK2=2});
Add(新的MyType(){PK1=1,PK2=3});
Database.Open().MySchema.MyTable.Upsert(列表);
似乎什么都没有发生,我需要做一个foreach吗?或者我可以通过什么方式实现这个目标吗

Database.Open().MySchema.MyTable.Upsert( new MyType { PK1 = 1, PK2 = 2 } );
工作

ToArray()-

var list=newlist();
Add(新的MyType(){PK1=1,PK2=2});
Add(新的MyType(){PK1=1,PK2=3});
Database.Open().MySchema.MyTable.Upsert(list.ToArray());

这将起作用,或对结果进行任何其他枚举

Database.Open().MySchema.MyTable.Upsert(list.ToArray()


虽然它不会生成批处理SQL查询,但会有大量对数据库的查询,至少对SQL Server是这样。

您没有用对象初始值设定项关闭括号,这应该是有效的,请参见测试套件中的示例。您正在使用哪个后端数据库?谢谢,请阅读@jakobras-answer。需要执行.ToArray()以使其执行!是的,这很有效,但问题的关键是要批量生产。不是一次一个。请看文档。您能上传一个列表吗?请快速查看文档,然后尝试上传到Array()。在simplefx only的文档中,您会看到哪些文档?无论如何,似乎不起作用。一切都在GitHub上。浏览代码。Simple.Data 2的标题功能之一是批处理操作。
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());