Skip to content

Repository.Update(List<Data>) 更新集合数据的奇怪问题 #709

Closed
@sqlite-me

Description

@sqlite-me

FreeSql版本:2.3.100
数据库:Ms SqlServer 2012
FrameWork : dot net FrameWork 4.0

List集合共有七条数据,更新第五条(下标4)时,失败。

完整Demo代码:

class Program
{
    static void Main(string[] args)
    {
        var free = new FreeSql.FreeSqlBuilder();
        free.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=lSer;Initial Catalog=Platform;User ID=sa;PassWord=999999;Min Pool Size=100");
        free.UseAutoSyncStructure(true);
        
        var freeSql = free.Build();
             List<Data> list = new List<Data>() { };
        var rep = freeSql.GetRepository<Data>(t => t.DepNo == 1);
        if (!rep.Select.Any())
        {
            for (var i = 0; i < 7; i++)
            {
                list.Add(new Data { DepNo = 1, Name = "Name" + (i + 1) });
            }
            rep.Insert(list);
        }
       
            list = rep.Select.ToList();
       
        // 每次只更新下面其中一个
        list[3].Name = "Modify4";//updated =1 ,更新成功
                                 // list[4].Name = "Modify5";//updated=0,没有更新,失败
                                 // list[5].Name = "Modify6";//updated=6,更新成功

        var updated = rep.Update(list);
    }

    class Data
    {
        [Column(IsIdentity =true)]
        public int Id { get; set; }
        public int DepNo { get; set; }
        public string Name { get; set; }
    }
}//2.3.100

list[4].Name = "Modify5";//updated=0,没有更新,失败 。只有这一句时,更新失败

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions