c# - 创建新的和删除和插入模式

标签 c# collections insert lambda subsonic3

3003 是准确的版本(我认为)。我有以下代码(使用 ActiveRecord)创建 2 个新实体,删除任何具有相同“Stamp1”和“Stamp2”值的实体,然后我想将所有内容插入我的 List<MyEntity> .

我不知道代码是否对删除有效,而且我不知道如何将列表中的所有新内容插入到批处理中。对于 v2.x,我使用了“SaveAll”,但我不理解 3 中的等效功能。

List<MyEntity> EntsList  = new List<MyEntity>();

MyEntity myEntA = new MyEntity();
myEntA.Stamp1 = Convert.ToDateTime("1/1/1989");
myEntA.Stamp2 = Convert.ToDateTime("1/1/1990");
EntsList.Add(myEntA);

MyEntity myEntB = new MyEntity();
myEntB.Stamp1 = Convert.ToDateTime("1/1/1989");
myEntB.Stamp2 = Convert.ToDateTime("1/1/1990");
EntsList.Add(myEntB);

for(int d = 0; d < EntsList.Count; d++)
{
    MyEntity delEnt = 
    MyEntity.SingleOrDefault (x => x.Stamp1 == EntsList[0].Stamp1 && x.Stamp2 == EntsList[0].Stamp2);
    delEnt.Delete();
}

for(int d = 0; d < EntsList.Count; d++)
{
   // How do I insert everything sequentially or all in one batch?
}

最佳答案

您可以使用存储库的 Add 方法添加一个 IEnumerable 对象集合,这会将您的所有对象添加到一个 BatchQuery 中。所以你应该能够做这样的事情:

SubSonicRepository<MyEnitity> repo = new SubSonicRepository<MyEntity>(new MyDB());
repo.Add(EntList);

关于c# - 创建新的和删除和插入模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1256433/

相关文章:

c# - SignalR HubConnection 未从无服务器 Azure SignalR 服务接收消息

C# 事件 : not firing after second level

java - 集合 <接口(interface)> 名称 = null;

java - 如何开始遍历集合而不是从头开始

mysql - 为来自其他表的字段的每个用户 ID 插入行

c# - 锁定构造函数导致空引用?

c# - "The process can not access the file ' ... ' because it is being used by another process"重新创建临时文件以使用 FtpWebRequest 上传

java - 合并两个哈希表并删除 java 中的重复项

MySQL INSERT INTO 单列从 SELECT 查询中从另外两个表中提取数据 - 抛出 #1062 - 键 2 的重复条目 '' 错误

php - 如何取消引用字符串并将其插入mysql数据库